Как отфильтровать следующий запрос вasticsearch? - PullRequest
0 голосов
/ 08 февраля 2020

Я использую следующий поиск:

{
    "_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) elasti c, полученный при поиске во время индексации. Например, {"_id" : 5903}. Я думаю, вы должны использовать термин запрос. Результаты должны быть такими, чтобы только при совпадении _id документ возвращался. Как я могу это сделать?

1 Ответ

1 голос
/ 08 февраля 2020

Чтобы отфильтровать ваш запрос по идентификатору do c (одному или нескольким), вasticsearch есть специальный запрос id. Вот подробности: https://www.elastic.co/guide/en/elasticsearch/reference/master/query-dsl-ids-query.html

...