弹性搜索:字符串数组上的完全匹配查询

雷姆西·施米林斯基(Remsy Schmilinsky)

鉴于此文件:

{"name": "Perfect Sunny-Side Up Eggs","ingredientList": ["canola oil","eggs"]}

如何在弹性搜索中构建查询,以在给定查询词“油蛋”的情况下在字符串数组上返回完全匹配项,到目前为止,这是我所拥有的,但是它返回了其他不相关的文档:

POST /recipes/recipe/_search
{
   "query": {
      "match": {
         "ingredientList": {
            "query": [
               "oil",
               "eggs"
            ],
            "operator": "and"
         }
      }
   }
}

例如,返回了此文档,但其中不包含“油”。结果应仅包含“油”和“蛋”:

{"name": "Quick Baked French Toast","ingredientList": ["butter","cinnamon raisin bread","eggs"]}
文件

您的查询将如下所示:

{
  "query": {
    "bool": {
      "must": [
        {
          "term": {
            "ingredientList": "oil"
          }
        },
        {
          "term": {
            "ingredientList": "eggs"
          }
        }
      ]
    }
  }
}

给我结果:

{
  "took" : 1,
  "timed_out" : false,
  "_shards" : {
    "total" : 5,
    "successful" : 5,
    "failed" : 0
  },
  "hits" : {
    "total" : 1,
    "max_score" : 1.0,
    "hits" : [ {
      "_index" : "ingredients",
      "_type" : "recipe",
      "_id" : "AVeprXFrNutW6yNguPqp",
      "_score" : 1.0,
      "_source" : {
        "name" : "Perfect Sunny-Side Up Eggs",
        "ingredientList" : [ "canola oil", "eggs" ]
      }
    } ]
  }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

弹性搜索查询字符串请求

字符串范围查询[弹性搜索]

Android Room查询:文本与搜索字符串完全匹配或以搜索字符串开头

从字符串数组中搜索,并忽略该完全匹配的字符串

使用弹性搜索查询字符串匹配多个字段

在弹性搜索查询中不匹配完整字符串的情况下获取数据

PHP弹性搜索过滤查询字符串搜索

弹性搜索全字符串匹配不起作用

弹性搜索查询字符串数据类型

弹性搜索结合短语和子字符串查询

弹性搜索查询字符串的解析器

在弹性搜索中定义字符串数组字段

对数组对象的弹性搜索匹配查询

休眠搜索与破折号字符串完全匹配

TSQL搜索完全匹配为字符串

Excel-在字符串中搜索完全匹配

搜索匹配字符序列的字符串数组

过滤字符串数组,仅获取与搜索到的字符串匹配的字符串

如何搜索字符串中的多个单词字符串(完全匹配)?

Java在数组中搜索匹配的字符串

弹性搜索:如何搜索以某些字符开头的字符串

使用给定的用户搜索字符串数组,并返回匹配的字符串数组的索引

弹性搜索否定简单查询字符串中的短语和单词

弹性搜索 | 简单查询字符串 | FieldBoosting 未按预期工作

弹性搜索按查询更新如何处理日期字段(从字符串解析?)

弹性搜索:使用字段时查询字符串的不同结果

如何在弹性搜索的文本中使用 - 查询字符串

如何在弹性搜索中查询不区分大小写的字符串

弹性搜索:就像查询不能在字符串中包含&(&)一样?