solr 学习笔记2-----schema和field type

schema文件详细存储了field和field type信息。初始化配置的不同,或是后面配置的修改会导致所使用的shema文件不同。

  1.  managed-schema.xml文件,是默认的schema配置文件。只能通过schema api 修改。

  2. schema.xml文件,只能手动修改

  两个文件的内容是一样的,只是修改文件的方式不同。如果在solrcloud使用schema.xml文件,只能在本地备份schema.xm文件,修改完通过zookeeper命令上传到zookeeper上去(cloud环境,schema配置文件在zookeeper上)。


FIELD TYPE的四个属性

  1. name(必填)

  2. 实现属性的类(必填) 

  3. 如果实现类是TextField,field analysis的描述信息

  4. feild type其他属性。根据不同的实现类有区别(有些实现类必填)


例子(schema.xml文件的片段):

<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>


①当中包含了field type的名字和实现类

 ②其余部分是关于field analysis的,包含索引和查询时的分析方式。

    索引时,指定词法分析类,停词,大小写是否忽略等。

    查询时,也要指定词法分析类,同义词文本库,大小写是否忽略等(详细看上面例子内容)。


猜你喜欢

转载自blog.51cto.com/291268154/2386813