首页 > 代码库 > solr配置-Schema.xml

solr配置-Schema.xml

可参考配置:http://wiki.apache.org/solr/SchemaXml(基本上文档上面讲的已经很详细了)

先来看一下Schema.xml都有什么配置

1,uniqueKey

2,n多name不一样的fieldType

3,各种field :field,dynamicField,copyField

4,默认被注释掉的defaultSearchField,solrQueryParser,Similarity

下面来看一下具体都什么意思:

1,uniqueKey:文档的唯一标识、唯一键,这里配置的是下面出现的field 一般都叫id,在更新、删除的时都会用到

<uniqueKey>id</uniqueKey>

2,fieldType:是一些常见的可重用定义,定义了 Solr如何处理 Field。也就是添加到索引中的xml文件属性中的类型,如int、text、date等.

属性说明:

name   # 标识,与Field type对应class    #对应solr已定义的type ClasssortMissingLast    #设置成true没有该field的数据排在有该field的数据之后,而不管请求时的排序规则, 默认是false。sortMissingFirst    #反之,默认是falseanalyzer    #字段类型指定的分词器
tokenizer #分词器类
type #当前分词用用于的操作.index代表生成索引时使用的分词器query代码在查询时使用的分词器filter #分词后使用的过滤器,调用顺序和配置相同

3,Fields 就是定义那些你要在搜索结果中展示的字段,即在doucument中使用,用于搜索或者只是展示

field:     普通的字段设置

 <field name="sn"        type="string" indexed="true" stored="true" />  

 

dynamicField: 动态的字段设置,用于后期自定义字段,*号通配符.例如: test_i就是int类型的动态字段.

 <dynamicField name="*_i"  type="integer"  indexed="true"  stored="true"/>

 

copyField:  一般用于检索时用的字段,这样就只对这一个字段进行索引分词,copyField的dest字段如果有多个source一定要设置multiValued=true,否则会报错的

 <copyField source="body" dest="teaser" maxChars="300"/>

 

fields属性说明:

name    #字段类型名class    #java类名indexed    #默认true。 是否被索引,说明这个数据应被搜索和排序,一般与stored反之。stored    #默认true。是否被存储,说明这个字段被包含在搜索结果中,一般与indexed反之。omitNorms    #字段的长度不影响得分和在索引时不做boost时,设置它为true。一般文本字段不设置为true。termVectors    #如果字段被用来做more like this 和highlight的特性时应设置为true。compressed    #字段是压缩的。这可能导致索引和搜索变慢,但会减少存储空间,只有StrField和TextField是可以压缩,这通常适合字段的长度超过200个字符。multiValued    #是否有多个值。positionIncrementGap    #和multiValued一起使用,设置多个值之间空白的数量

 

4,  defaultSearchField:默认搜索属性,如q=text就是默认的搜索text字段

 

<defaultSearchField>text</defaultSearchField>

     solrQueryParser:查询转换模式,是并且还是或者(AND/OR必须大写)

<solrQueryParser defaultOperator="OR"/>

    Similarity:自定义评分器,class是继承 DefaultSimilarity的子类,或者实现评分器接口的类,

                下面的参数str 应该是可配置名称为paramkey,值为param value的参数吧

<similarity class="com.example.solr.CustomSimilarityFactory">       <str name="paramkey">param value</str></similarity>

 

solr配置-Schema.xml