Solr配置文件详解

举报
Smy1121 发表于 2019/06/22 19:06:20 2019/06/22
【摘要】 solr核心配置文件schema.xml详解

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>

【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。