Elasticsearch中的命名查询

时间:2018-03-19 14:27:55

标签: json elasticsearch nosql kibana

我需要使用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": {}
        }
    }
}

1 个答案:

答案 0 :(得分:0)

据我所见

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

  

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

您似乎应该在最里面的查询中使用“布尔”查询:

get_class($this)