首页 > 代码库 > Solr中schema.xml的解释
Solr中schema.xml的解释
接 Solr-4.10.2与Tomcat整合。
schema.xml位于D:\solr\data\solr\collection1\conf\中。
1、fieldType节点
name: FieldType的名称
class: 指向org.apache.solr.analysis包里面对应的class名称,用来定义这个类型的行为
omitNorms: 字段检索时被省略相关的规范
positionIncrementGap:定义在同一个文档中此类型数据的空白间隔,避免短语匹配错误
此外还可以建立索引和进行查询的时候要使用的分析器analyzer
2、fields节点
name:字段名
type:之前定义过的各种FieldType
indexed=true|false,是否被索引,如果一个字段设为true,那么它可以进行: earchable, sortable, facetable
stored=true|false,是否被存储(如果不需要存储相应字段值,尽量设为false)
default :字段的默认值
compressed=true|false,true 使用gzip压缩存储(只适用 compressable;TextField和StrField)
compressThreshold=<integer> 保证压缩到不小于一个大小
multiValued=true|false,是否有多个值(对可能存在多值的字段尽量设置为true,避免建索引时抛出错误)
omitNorms=true|false,true 则字段检索时被省略相关的规范
omitTermFreqAndPositions=true|false,true 省略这一领域的长远频率,位置和有效载荷
3、copyField复制节点
source:数据来源,fields中的name
dest: 目的地,fields中的name
4、dynamicField动态节点
name:字段名
type:之前定义过的各种FieldType
indexed=true|false,是否被索引,如果一个字段设为true,那么它可以进行: earchable, sortable, facetable
stored=true|false,是否被存储(如果不需要存储相应字段值,尽量设为false)
5、uniqueKey
uniqueKey 设置字段惟一,<uniqueKey>user_id</uniqueKey>
文档的唯一标识, 必须填写这个field(除非该field被标记required="false"),否则solr建立索引报错。
6、默认搜索字段
<defaultSearchField>name</defaultSearchField>
如果搜索参数中没有指定具体的field,那么这是默认的域。
7、默认搜索类型
<solrQueryParser defaultOperator="OR" />
配置搜索参数短语间的逻辑,可以是"AND|OR"。
8、< schema name =" example " version =" 1.2 " >
name:标识这个schema的名字
version:现在版本是1.2
9、为了改进性能,可以采取以下几种措施:
将所有只用于搜索的,而不需要作为结果的field(特别是一些比较大的field)的stored设置为false
将不需要被用于搜索的,而只是作为结果返回的field的indexed设置为false
删除所有不必要的copyField声明
为了索引字段的最小化和搜索的效率,将所有的 text fields的index都设置成field,然后使用copyField将他们都复制到一个总的 text field上,然后对他进行搜索。
为了最大化搜索效率,使用java编写的客户端与solr交互(使用流通信)
在服务器端运行JVM(省去网络通信),使用尽可能高的Log输出等级,减少日志量。
Solr中schema.xml的解释