zoukankan      html  css  js  c++  java
  • 1.4.2 solr字段类型--(1.4.2.1)字段类型定义和字段类型属性

    1.4.2 solr字段类型

      (1.4.2.1) 字段类型定义和字段类型属性.

      (1.4.2.2) solr附带的字段类型

      (1.4.2.3) 使用货币和汇率

      (1.4.2.4) 使用Dates(日期)

      (1.4.2.5) 使用枚举字段

      (1.4.2.6) 使用外部文件和程序

      (1.4.2.7) 字段属性使用案例

    字段类型定义和字段类型属性

      字段类型元素fieldType包含4个信息的类型:name,class-实现类的名称,analyzer-用于字段类型的分析,字段属性Field.

    schema.xml中定义字段类型

      字段类型定义在schema.xml中的types元素下,每个字段类型都在filedType元素之间定义,下面是一个 text_general的例子:

    <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" enablePositionIncrements="true" />
            <filter class="solr.LowerCaseFilterFactory" />
        </analyzer>
        <analyzer type="query">
            <tokenizer class="solr.StandardTokenizerFactory" />
            <filter class="solr.StopFilterFactory" ignoreCase="true"
                words="stopwords.txt" enablePositionIncrements="true" />
            <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt"
                ignoreCase="true" expand="true" />
            <filter class="solr.LowerCaseFilterFactory" />
        </analyzer>
    </fieldType>

      上面例子中的第一行包含了字段类型的名称text_general,以及对应的实现类solr.TextField,剩下部分定义了字段的分析.

      实现类负责确保该字段的正确处理,在这个class名称中,字符串solr时 org.apache.solr.schema 或者org.apache.solr.analysis的简称.

    字段类型属性

      字段类型的class决定了字段类型的大部分行为,但是可选的属性也可以被定义.如下面的日期类型定义了sortMissingLast和omitNorms两个属性.

    <fieldType name="date" class="solr.DateField" sortMissingLast="true" omitNorms="true" />

      这个字段类型的属性可以分为三大类:

        指定字段类型的类.

        常规属性-solr所有字段类型都支持的属性.

        字段默认属性-使用

    常规属性

    属性 描述
    positionIncrementGap 对于多值字段来说,在多个值之间指定一个距离,预防假的匹配现象. integer
    autoGeneratePhraseQueries

    对于文本字段,如果为true,solr自动为相邻词语生成短语查询,

    如果false,词语之间必须使用双引号才被当作短语查询.

    true或false
    docValuesFormat

     自定义一个DocValuesFormat,用于这个类型的字段,这就需要一个模式感知编码解码器(schema-aware),

    如solrconfig.xml中定义的SchemaCodecFactory

     n/a
    postingsFormat  自定义一个PostingsFormat,用于这个类型的字段,这就需要一个模式感知编码解码器(schema-aware),

    如solrconfig.xml中定义的SchemaCodecFactory

     n/a

      

    字段默认属性

    属性 描述
    indexed true:字段值可以用于查询检索 true or false
    stored true:实际字段值在索引中存储 true or false
    docValues true,字段值将被存放在一个一行为主(面向列)docValues结构中. true or false
    sortMissingFirst
    sortMissingLast
    如果排序字段不存在时,用于控制文档的布局.自solr3.5起,这些应用于所有的numeric字段,tri和日期字段. true or false
    multiValued true,声明一个单独的文档的字段下可以包含多个值 true or false
    omitNorms true,忽略此字段关联的规范,对所有的原始字段(不分词),默认为true.如int,float,data,bool,string.只有文本字段和需要索引时间加权的字段 需要规范(norms). true or false
    omitTermFreqAndPositions true,忽略词语的频率,位置和位置处的有效负载.对于不需要这些信息的字段,这是一个性能提升,同样也减少了索引的存储空间.依赖位置的查询,发布在使用这个选项上的字段,将无法找到匹配的文档.这个属性对所有的非文本字段默认为true. true or false
    omitPositions 和omitTermFreqAndPositions相似,但是保存词语的频率信息. true or false
    termVectors
    termPositions
    termOffsets
    这些选项指示solr维护每个文档的全部词语的向量信息,可选择的包含每个词语在这些向量中出现的位置和偏移量信息.这些可以用于
    加速高亮和其他辅助功能.但是在索引大小方面增加了相当一部分消耗.对于solr的标准使用来说时没有必要的.
    true or false

      

  • 相关阅读:
    控制一个cell不可被移动到另外一个section中
    core data 手动修改 .xcodatamodeld 文件 和 po 生成的 模型类 注意事项
    stringByTrimmingCharactersInSet 取出string 前后空格
    项目架构简述
    nil NULL [NSNULL null]
    如何定义一个应用之间调用的ios 本地URL
    UITableView隐藏多余的分割线
    解决UItableView cell的间隔线 separatorStyle ( plain group 两种类型)
    模拟器 真机 测试 内存消耗 资源对比
    微服务架构:Eureka集群搭建
  • 原文地址:https://www.cnblogs.com/a198720/p/4283092.html
Copyright © 2011-2022 走看看