Elasticsearch _mapping api并没有告诉我哪些字段没有被分析

时间:2016-12-28 20:09:30

标签: elasticsearch

我试图阻止elasticsearch分析我文档中的某些字段。 我发布了这个映射:

{
  "properties" : {
     "f1" : {
        "index" : "not_analyzed",
        "include_in_all" : false,
        "type" : "string"
     },
     "f2" : {
        "index" : "not_analyzed",
        "include_in_all" : false,
        "type" : "string"
     },
     "f3" : {
        "index" : "not_analyzed",
        "include_in_all" : false,
        "type" : "string"
     }
  }
} 

然后我ping映射点并且它不会告诉我这些字段 是否分析:

{
  "myindex" : {
    "mappings" : {
      "mytype" : {
        "properties" : {
          "f1" : {
            "type" : "keyword",
            "include_in_all" : false
          },
          "f2" : {
            "type" : "keyword",
            "include_in_all" : false
          },
          "f3" : {
            "type" : "keyword",
            "include_in_all" : false
          }
        }
      }
    }
  }
}

在我看过的示例中,查询_mapping api似乎告诉分析了哪些字段

1 个答案:

答案 0 :(得分:1)

在elasticsearch 5.0及更高版本中,有一种分离已分析和未分析内容的新方法:

但是,总结一下:

  • 关键字未分析
  • 分析文字

并且索引属性有3个值:“no”,“analyze”,“not-analyze”现在简化为“yes”和“no”