首页 > 解决方案 > 如何过滤弹性搜索中的以下查询?

问题描述

我正在使用以下搜索:

{
    "_source": [
        "title",
        "bench",
        "court",
        "id_"
    ],
    "size": 10,
    "query": {

        "bool": {
            "must": {

                    "multi_match": {
                        "query": "murder" 
                    ,
                    "fields": [
                        "title",
                        "content"
                    ]
                }
            },

            "should": {
                "multi_match": {
                    "query": "murder",
                    "fields": [
                        "title.standard",
                        "content.standard"
                    ]
                }
            }

        }


    },
    "highlight": {
        "fields": {
            "title": {},
            "content": {}
        }
    }
}

我现在想使用_id在索引期间提供的 id () 弹性搜索过滤结果。例如,{ "_id" : 5903}。我想你必须使用术语查询。结果应该是只有当_id匹配时,文档才会返回。我怎样才能做到这一点?

标签: elasticsearchelastic-stackelasticsearch-analyzers

解决方案


为了让您的查询按文档的 id(一个或多个)过滤,elasticsearch 中有一个特殊的 id 查询。以下是详细信息:https ://www.elastic.co/guide/en/elasticsearch/reference/master/query-dsl-ids-query.html


推荐阅读