Search code examples
elasticsearchelastic-stackelasticsearch-analyzers

How to filter the follwing query in elasticsearch?


I am using the following search:

{
    "_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": {}
        }
    }
}

I now want to filter the results using the id (_id) elastic search gave it during indexing. For example, {"_id" : 5903}. I guess you have to use the term query. The results should be such that only if the _id is matched, the document returns. How can I do that?


Solution

  • In order to get your query filtered by doc's id (one, or many), there is a special id query in elasticsearch. Here are the details: https://www.elastic.co/guide/en/elasticsearch/reference/master/query-dsl-ids-query.html