Solr 配置参数
一,简介
Solr提供了丰富的配置参数,这些参数可以用于优化索引和查询性能,调整分词器和过滤器的行为,设置字段属性等。
二, Schema相关参数
- name:
定义字段或字段类型的名称 - class
定义字段类型所使用的类(如 Solr.StrField, solr.TextField等) - indexed:
是否将字段值添加到索引中来支持搜索,默认为true - stored
是否存储字段的原始值以便检索,默认为true - multiValued:
字段是否可以包含多个值,默认为false - required:
在文档中该文档是否必须存在,默认为false - omitNorms:
是否忽略字段的规范化因子(norms),这对于不需要权重调整的字段来说可以节省空间,默认为false - positionIncrementGap:
设置多值字段中不同值之间的位置增量间隔,对于近似查询很重要 - termVectors,termPositions,termOffsets:
控制是否存储词汇向量以及他们的位置和偏移信息,这对于某些高级查询功能很有用
三, 分析链参数(Analyzer Chain)
- type:
分析器应用于文本的不同阶段(index,query或者default等) - tokenizer:
分词器用于将文本分割成标记(tokens) - filter:
各种类型的过滤器,如大小写转换,停用词移除,词干提取等
四,Query参数
- q :
查询字符串 - fq:
过滤查询,用于限制结果集而不影响评分 - start 和rows:
分页参数,指定从第几个结果开始,以及返回多少个结果 - sort:
指定排序规则 - fl:
指定要返回的字段列表 - defType:
默认查询解析器的类型(如edismax, lucene) - wt:
响应格式: 如json,xml等
五, 索引和性能优化参数:
- commitWithin:
指定新添加的文档在多少毫秒内应该被提交并变得可搜索 - autoCommit:
自动提交策略,可以基于时间过着文档数量触发 - softCommit:
类似于commit 但是不会触发合并操作,所以更快 - cache:
包括各种缓存类型,如 fieldValueCache, filterCache,documentCache等,用于加速查询 - mergePolicy:
控制索引文档如何合并,影响索引新能和磁盘使用 - replicationFactor:
在分布式环境中,每个分片的副本数 - masxShardsPerNode:
每个节点的最大分片数量,在分布式部署时非常重要
六, 其他重要参数
- uniqueKey:
指定一个字段作为唯一标识,确保每条记录都是唯一的 - defaultSearchField:
如果查询没有明确定制搜索字段,那么使用默认字段进行搜索 - solrConfig.xml中的参数:
包含更多与核心相关的配置,比如请求处理器,更新处理器,监听器等