zoukankan      html  css  js  c++  java
  • solr schema.xml配置

    solr使用_version_来做文档的版本控制和修改时加锁(乐观锁)

    <field name="_version_" type="long" indexed="true" stored="true"/>

    indexed是否索引 只能在索引的列上进行查询

    stored是否存储 只能返回存储的列

    required 是否必须

    multiValued 是否多值

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

    dynamicField 动态字段

    <dynamicField name="*_i" type="int" indexed="true" stored="true"/>

    uniqueKey主键列

    <uniqueKey>id</uniqueKey>

    copyField

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

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

    各种fieldtype

    sortMissingLast:排序的时候 空值排在后面

    <fieldType name="string" class="solr.StrField" sortMissingLast="true" />

    <fieldType name="boolean" class="solr.BoolField" sortMissingLast="true"/>

    <fieldType name="int" class="solr.TrieIntField" precisionStep="0" positionIncrementGap="0"/>

    <fieldType name="float" class="solr.TrieFloatField" precisionStep="0" positionIncrementGap="0"/>

    <fieldType name="long" class="solr.TrieLongField" precisionStep="0" positionIncrementGap="0"/>

    <fieldType name="double" class="solr.TrieDoubleField" precisionStep="0" positionIncrementGap="0"/>

     

    <!--

    precisionStep是数字才有的,是solr针对数字索引的一个优化字段。

      较小的precisionStep值(以位指定)将导致每值更多的索引索引,更大的索引大小和更快的范围查询。

    也就是说,空间和时间的平衡。

    positionIncrementGap:

      positionIncrementGap将此类型的多个字段(multiValued="true")的字段的多个值之间放置配置数量的空格,目的是防止字段间的错配短语匹配。

    -->

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

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

    注意:

    stopwords.txt的格式是,每行一个停用词。

    synonyms.txt的格式是,在同一行输入多个同义词,逗号分隔。

     

     

    tokenizer用来分词,filter(可选)可以后续处理分词的结果。

    filter的作用:

    • 词元转换:如LowerCaseFilterFactory大小写转换。
    • 次元注入:如SynonymFilterFactory加入同义词。
    • 词元移除:如停用词过滤器StopFilterFactory。删除不必要的次元,如个,在等。
  • 相关阅读:
    结对编程项目作业4
    团队编程项目进度
    团队编程项目作业2-团队编程项目代码设计规范
    现代软件工程 阅读笔记
    个人编程作业1-GIT应用
    结对编程项目作业2-开发环境搭建过程
    结对编程项目作业2-结对编项目设计文档
    课后作业-阅读任务-阅读提问
    《团队-科学计算器-模块测试过程》
    团队-科学计算器-模块开发过程
  • 原文地址:https://www.cnblogs.com/xiaolang8762400/p/7450907.html
Copyright © 2011-2022 走看看