|
<!-- FieldType子结点包括:name,class,positionIncrementGap等一些参数: name:是这个FieldType的名称
class:是Solr提供的包solr.TextField,solr.TextField 允许用户通过分析器来定制索引和查询,分析器包括一个分词器(tokenizer)和多个过滤器(filter)
positionIncrementGap:可选属性,定义在同一个文档中此类型数据的空白间隔,避免短语匹配错误,此值相当于Lucene的短语查询设置slop值,根据经验设置为100。
在FieldType定义的时候最重要的就是定义这个类型的数据在建立索引和进行查询的时候要使用的分析器analyzer,包括分词和过滤
索引分析器中:使用solr.StandardTokenizerFactory标准分词器,solr.StopFilterFactory停用词过滤器,solr.LowerCaseFilterFactory小写过滤器。
搜索分析器中:使用solr.StandardTokenizerFactory标准分词器,solr.StopFilterFactory停用词过滤器,这里还用到了solr.SynonymFilterFactory同义词过滤器。
-->
<fieldType name="text_general" positionIncrementGap="100">
<!--索引分析器 -->
<analyzer type="index">
<tokenizer/>
<filter ignoreCase="true" words="stopwords.txt" />
<!-- in this example, we will only use synonyms at query time
<filter synonyms="index_synonyms.txt" ignoreCase="true" expand="false"/>
-->
<filter/>
</analyzer>
<!--搜索分析器 -->
<analyzer type="query">
<tokenizer/>
<filter ignoreCase="true" words="stopwords.txt" />
<filter synonyms="synonyms.txt" ignoreCase="true" expand="true"/>
<filter/>
</analyzer>
</fieldType> |
|
|