禁用某些字段的索引构建

时间:2016-05-19 19:42:53

标签: elasticsearch logstash

如何在elasticsearch中的特定字段上禁用索引,目前默认情况下所有字段都被编入索引。

1 个答案:

答案 0 :(得分:2)

Logstash:

几乎所有过滤器都有remove_field配置,您可以从事件中删除字段。如果您使用过滤器,则可以检查文档并添加(如果存在),或者您可以使用mutate] 1过滤器:

filter {
  mutate {
    remove_field => [ "foo_%{somefield}", "my_extraneous_field" ]
  }
}

Elasticsearch:

如果您希望不对该字段编制索引,则可以在映射时将字段的index属性设置为no

{
    "field_name": {
        "type": "string",
        "index": "no"
    }
}

可能的值:

  
      
  • 分析

         

    首先分析字符串,然后将其编入索引。换句话说,将此字段索引为全文。

  •   
  • not_analyzed

         

    索引此字段,因此可以搜索,但可以完全按照指定索引值。不要分析它。

  •   
  • 没有

         

    根本不要将此字段编入索引。此字段无法搜索。

  •