Solr配置文件详解
solr核心配置文件schema.xml详解:
schema.xml位于solr/conf/目录下,类似于数据库配置文件,定义了加入索引数据的数据类型,主要包括type、fields和其他的一些缺省设置。
1.保留字段定义
<!-- 保留字段,不能删除,否则报错 -->
<field name="_version_" type="long" indexed="true" stored="true"/>
<field name="_root_" type="string" indexed="true" stored="false"/>
2.常规字段定义
name:字段名
type:定义的各种FieldType
indexed:是否被索引
tored:是否被存储
<field name="allnumber" type="string" indexed="true" stored="true"/>
<field name="daynumber" type="string" indexed="true" stored="true"/>
<field name="commentnumber" type="string" indexed="true" stored="true"/>
<field name="collectnumber" type="string" indexed="true" stored="true"/>
<field name="supportnumber" type="string" indexed="true" stored="true"/>
<field name="againstnumber" type="string" indexed="true" stored="true"/>
3.拷贝字段
<!--建立一个整合字段,将所有的全文本字段复制到一个字段中,以便进行统一的检索-->
<field name="text" type="text_general" indexed="true" stored="false" multiValued="true"/>
<!-- 拷贝需要索引的字段到整合字段中 -->
<copyField source="tvname" dest="text"/>
4.文档的唯一标识
<!-- 文档的唯一标识,可理解为主键,除非标识为required="false", 否则值不能为空-->
<uniqueKey>tvId</uniqueKey>
5.添加IK分词
<!-- 添加IK分词 -->
<fieldType name="text_ik" class="solr.TextField">
<analyzer type="index" isMaxWordLength="false" class="org.wltea.analyzer.lucene.IKAnalyzer"/>
<analyzer type="query" isMaxWordLength="true" class="org.wltea.analyzer.lucene.IKAnalyzer"/>
</fieldType>
6.字段添加IK分词
<!--把需要分词的字段,设置为text_ik-->
<field name="tvname" type="text_ik" indexed="true" stored="true"/>
7.常规FieldType定义
name:就是这个FieldType的名称
class:指向org.apache.solr.analysis包里面对应的class名称,用来定义这个类型的行为。
<fieldType name="string" class="solr.StrField" sortMissingLast="true" />
<fieldType name="boolean" class="solr.BoolField" sortMissingLast="true"/>
8.动态FieldType定义
<dynamicField name="*_i" type="int" indexed="true" stored="true"/>
<dynamicField name="*_is" type="int" indexed="true" stored="true" multiValued="true"/>
9.其他FiledType定义
<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" />
<!--大小写处理-->
<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>
- 点赞
- 收藏
- 关注作者
评论(0)