在Elasticsearch中搜索空格分隔的单词

mzsu5hc0  于 2023-03-07  发布在  ElasticSearch
关注(0)|答案(1)|浏览(155)

我的数据是,

POST index_name/_doc/1
{
          "created_date" : "2023-02-09T13:21:41.632492",
          "created_by" : "hats",
          "data" : [
                        {
              "name" : "west cost",
              "document_id" : "1"
            },
            {
              "name" : "mist cost",
              "document_id" : "2"
            },
            {
              "name" : "cost",
              "document_id" : "3"
            }
          ]
        }

我使用query_String进行搜索

GET index_name/_serach
{
    "query_string": {
       "default_field": "data.name",
        "query": "*t cost"
    }
}

预期结果为:西部成本
但结果是西部成本,西部成本
我已经尝试了许多搜索查询,但仍然无法找到解决方案
使用哪个搜索查询来处理空间,我需要在字段中搜索类似的模式值

qgelzfjb

qgelzfjb1#

elasticsearch将返回满足查询的文档,并且您的文档1确实满足查询,即data数组中至少有一个项的名称以*t cost结尾。如果您只希望在响应中返回前两个data项,则需要在单独的文档中独立索引每个项

相关问题