索引字段被映射为文本而不是关键字

时间:2018-03-11 11:48:11

标签: elasticsearch

遇到ES的问题, 我有一个用户类型的映射,将字段指定为关键字

GET _template/user_template

返回:

{
 ...
 "primary_user": {
            "type": "keyword"
          }
}

以下过滤器请求将返回hits

GET users/user/_search
{
  "query": {
    "bool": {
      "filter": {
        "term": {
          "primary_user.keyword": "AWBFyulcxxxxxxxx"
        }
      }
    }
  }
}

以下请求将以0次点击返回。

GET users/user/_search
    {
      "query": {
        "bool": {
          "filter": {
            "term": {
              "primary_user": "AWBFyulcxxxxxxxx"
            }
          }
        }
      }
    }

从开发工具自动填充功能中,我可以看到ES将primary_user视为文本。

enter image description here

我错过了什么?

1 个答案:

答案 0 :(得分:1)

使用模板索引模式检查索引的名称:模板将仅应用于名称与索引模式匹配的索引。

此外,模板仅在索引创建时应用,更改模板对现有索引没有影响:如果已更新模板,则必须创建新索引(ord删除并重新创建现有索引)以供查看映射的变化。