【问题标题】:ElasticSearch: Can I query the .raw field?ElasticSearch:我可以查询 .raw 字段吗?
【发布时间】:2017-01-18 15:07:38
【问题描述】:

我正在尝试查询我的 elasticsearch(版本 5.0.0)索引中的字段的 .raw 版本。该字段的名称为'region',其映射如下:

{

  "properties": {
    "region": {
      "type": "text", "analyzer": "custom_analyzer", 
      "fields": {
        "raw": { 
              "type":  "keyword", "index": "not_analyzed"
        }
      }
    }
  }
}

请注意,我最初使用分析版本设置了区域映射,在第二步中,我通过添加字段的原始版本来更新映射。

据我从documentation 和类似的question 了解,我可以查询原始字段以获取其区域与我的查询完全匹配的文档。 但是,通过使用以下查询,不会返回任何结果。

{
   "match": {
        "region.raw": "Northern Ireland"
   }
}

相反,通过使用我的字段的分析版本,结果按预期返回。

{
   "match": {
        "region": "Northern Ireland"
   }
}

由于我需要使用原始字段,所以我有以下问题:

  • 我为区域字段设置映射的方式是否正确?
  • 我的查询方式是否正确?

非常感谢您的帮助。

【问题讨论】:

    标签: elasticsearch


    【解决方案1】:

    不,您的查询是正确的。问题是您必须重新索引数据才能使用新的映射版本进行索引。

    【讨论】:

    • 哇,我不敢相信我是怎么错过的。成功了,谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-18
    • 2016-03-23
    • 1970-01-01
    • 2021-10-29
    • 2016-08-18
    • 2022-12-04
    相关资源
    最近更新 更多