【问题标题】:Named queries in ElasticsearchElasticsearch 中的命名查询
【发布时间】:2018-08-28 03:42:03
【问题描述】:

我需要搜索一个包含 3 个关键字(3 个查询)的数据库,并且我需要告诉用户哪个关键字(查询)给出了结果。 我一直在研究命名查询作为一种可能的解决方案。

https://www.elastic.co/guide/en/elasticsearch/reference/current/search-request-named-queries-and-filters.html

我想知道是否可以将命名查询应用于嵌套查询?

根据文档:

搜索响应将包含每个匹配的匹配查询 匹配上。

所以我尝试了一个简单的查询来查看它是如何工作的,我得到了一个结果,但没有“matched_queries”。我是不是做错了什么?

这是我在 Kibana 中的查询:(我没有使用真实姓名)

GET database/document/_search
{
    "query": {
        "nested": {
            "path": "first_path",
            "query": {
                "nested" : {
                    "path" :  "second_path",
                    "query" :  {
                       "match": {
                           "match_field": {
                           "query": "First query",
                           "_name" : "query"
                       }
                    }
                } 
               }
            },
            "inner_hits": {}
        }
    }
}

【问题讨论】:

标签: json elasticsearch nosql kibana


【解决方案1】:

据我所见

https://www.elastic.co/guide/en/elasticsearch/reference/current/search-request-named-queries-and-filters.html

搜索响应将包含每个匹配的匹配查询 匹配上。查询和过滤器的标记仅对 布尔查询。

看起来您应该在最里面的查询中使用“bool”查询:

   .
   .
   .
   "query" : {
     "bool": {
       "should" {
        …
       }
     }
   }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-12-17
    • 2021-08-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多