当前位置:  开发笔记 > 前端 > 正文

弹性搜索返回错误结果

如何解决《弹性搜索返回错误结果》经验,为你挑选了1个好方法。

我正在针对弹性搜索运行查询,但返回的结果错误。我的想法是,我可以使用单个查询来检查一系列字段。但是,当我通过以下查询时,将返回不包含所包含的商品的商品。

query: {
  bool: {
    must: [
      {match:{"lineup.name":{query:"The 1975"}}}
    ]
  }
}

对象是看起来像的事件。

{
  title: 'Glastonbury'
  country: 'UK',
  lineup: [
    {
      name: 'The 1975',
      genre: 'Indie',
      headliner: false
    }
  ]
},
{
  title: 'Reading'
  country: 'UK',
  lineup: [
    {
      name: 'The Strokes',
      genre: 'Indie',
      headliner: true
    }
  ]
}

就我而言,这两个事件均返回。

可以在这里看到映射:https : //jsonblob.com/567e8f10e4b01190df45bb29



1> ChintanShah2..:

您需要使用match_phrase查询,match查询要查找The1975,并且在The strokes中找到The,它会为您提供结果。

尝试

{
  "query": {
    "bool": {
      "must": [
        {
          "match": {
            "lineup.name": {
              "query": "The 1975",
              "type": "phrase"
            }
          }
        }
      ]
    }
  }
}

推荐阅读
mobiledu2402851203
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有