zoukankan      html  css  js  c++  java
  • Solr的Filed中indexed与stored属性

    摘要: Solr的Filed中有很多参数,其中的index和store参数让人有点犯晕。

    消失的Field

    <field name="description_s" type="text" indexed="false" stored="false" required="false" />
    • 1

    上面的这个Field的index和store属性都设置为false。如果你插入一片含有该field的doc到Solr,你会发现不能query这个field,就好像刚才插入的数据丢失了。

    异想天开的设计

    有时候你不希望你的数据被索引或存储,那么你就可以设置这两个参数都为FALSE。对于dynamicField设置的比较宽泛,通过上面这种设置就可以把某一种数据排除掉。

    <dynamicField name="*_s" type="text" indexed="true" stored="true"/>
    • 1

    这种dynamicField是一种常见的配置,可以指定一个具体的Field来覆盖这种设计。

    索引?存储?

    通过indexed=true可以使得一个field可以被搜索,如果你有一个字段title设置的是indexed=true,那么q=title:csdn就是在搜索标题中含有csdn的document。如果你设置indexed=false,就算你有符合的数据也无法搜索出来。 stored=true意味着你可以在结果中看到这个field,通过fl参数可以控制是否在结果中显示,如果你设置stored=false,就算你有符合的数据看不到该field。

    你可以这样理解:
    Indexed=true   就是可以查询
    Stored=true     就是内容存储

    设置关键是只设置需要查询的Indexed=true,需要和查询结果一起返回的字段内容设置Stored=true,其他就是false,节约索引大小和资源。

    indexed表示需不需要建立索引,以便之后对这个field进行查询; 

    stored表示需不需要随索引同时存储这个field本身的内容,以便查询时直接从结果中获取该内容,一般大数据(比如文件内容本身)不会和索引一起保存,节省资源,防止索引过大。

  • 相关阅读:
    【排序】SelectSort
    Linux下程序的Profile工具
    Ubuntu adb devices :???????????? no permissions 解决方法
    利用宏控制打印
    关于错误 Resource temporarily unavailable
    如何不使用pthread_cancel而杀死线程
    【排序】BubbleSort
    使用 autotools 生成包含多文件的 Makefile
    source命令使用
    2010 成都预选赛 Binary Number
  • 原文地址:https://www.cnblogs.com/cuihongyu3503319/p/9473514.html
Copyright © 2011-2022 走看看