Solr Filed域的基础配置

来源:互联网 发布:微信怎样在淘宝上付款 编辑:程序博客网 时间:2024/06/10 02:22

Schema.xml:

1.配置域名及域的类型等信息,Solr域先定义后使用

2.solr core的conf目录:配置域名及域的类型等信息,Solr中的域要先创建后使用
{“id”:”change.me”,”title”:”change.me”}
title表示域名,必须在schema.xml中的filed属性指定配置,否则不能使用

配置域Field:

<field name="id" type="string" indexed="true" stored="true" required="true" multiValued="false" />

name:域名
type:域名类型
indexed:是否索引
stored:域是否存储可读
docValues:文档值
multiValued:是否可以多值,存储多个值,数组存储:商品大图、中图、小图
required:是否必须,一般只有id设置,作为搜索的主键

dynamicField:动态域:通过表达式的形式构建file名称,类似正则表达式的表示

<dynamicField name="*_i"  type="int"    indexed="true"  stored="true"/>name:动态域的名称type:动态域的类型

uniqueKey:主键域:必须在schema.xml中配置,每个文档中都应该有唯一主键

<uniqueKey>id</uniqueKey>

copyField:复制域:将原域的内容复制到目标域中,一般作为默认域使用

<copyField source="cat" dest="text"/>

目标域:必须是multiValued类型

<field name="text" type="text_general" indexed="true" stored="false" multiValued="true"/>

FieldType:域类型

<fieldType name="text_general" class="solr.TextField" positionIncrementGap="100"><analyzer type="index"><tokenizer class="solr.StandardTokenizerFactory"/><filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" /><!-- in this example, we will only use synonyms at query time<filter class="solr.SynonymFilterFactory" synonyms="index_synonyms.txt" ignoreCase="true" expand="false"/>--><filter class="solr.LowerCaseFilterFactory"/></analyzer><analyzer type="query"><tokenizer class="solr.StandardTokenizerFactory"/><filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" /><filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/><filter class="solr.LowerCaseFilterFactory"/></analyzer></fieldType>

name:域类型名称
class:类型对应的solr类型
analyzer:分析器 type=”index”:索引分词:包含分词器和过滤器
tokenizer:分词器
Filter:过滤器
analyzer type=”query”:查询分词
这里写图片描述