一尘不染

默认情况下在elasticsearch中禁用字段分析

elasticsearch

是否可以为类型选择性地启用elasticsearch字段的索引?

通过特定索引的映射设置,可以设置属性

{“ index”:“ not_analyzed”}

对于特定领域。由于我的文档中的字段太多,并且将来可能会更改结构,因此我需要一个映射,除非另行指定,否则默认情况下不会分析字段。

这可能吗?


阅读 381

收藏
2020-06-22

共1个答案

一尘不染

是的-
看一下动态模板

请尝试以下操作:

PUT /my_index
{
  "mappings": {
    "my_type": {
        "dynamic_templates": [
            { "notanalyzed": {
                  "match":              "*", 
                  "match_mapping_type": "string",
                  "mapping": {
                      "type":        "string",
                      "index":       "not_analyzed"
                  }
               }
            }
          ]
       }
   }
}

动态模板适用于您的映射未涵盖的新字段-来自文档:

使用dynamic_templates,您可以完全控制为新检测到的字段生成的映射。

您也可以根据字段名称更改映射,例如使用"match": "*_data",以使以“ _data”结尾的字段名称具有不同的映射集。

2020-06-22