ElasticSearch: возможно ли использовать dfs_query_then_fetch с API объяснения? - PullRequest
0 голосов
/ 15 января 2020

Поддерживала ли конечная точка Explain search_type: dfs_query_then_fetch? Если это произойдет сейчас (я нахожусь на 7.1), как я могу это указать?

Меня бросили за al oop при использовании API Explain на двух идентичных документах, но с разными расчетами баллов. Изучение документов проводилось в разных шардах, и то, что входные данные TF / IDF были рассчитаны для каждого шарда, объяснило разницу. Использование dfs_query_then_fetch в Search API нормализовало результаты, но клиент ElasticSearch. net (как LowLevel, так и NEST), по-видимому, не предоставляет способ указать его для вызовов к Explain API.

Я также попытался сформировать запрос вручную, передав его в виде строки запроса или параметра тела запроса. Оба не говорят, что аргумент неверен. Я подумал, что, возможно, конечная точка Explain не предлагает способ указать dfs_query_then_fetch, но, просматривая некоторые старые проблемы, кажется, что он по крайней мере в какой-то момент сделал:

https://github.com/elastic/elasticsearch/issues/2612

1 Ответ

0 голосов
/ 24 января 2020

Тип поиска не поддерживается в API объяснения. Подход, который мог бы работать, состоял бы в том, чтобы использовать API поиска с dfs_query_then_fetch и explain, с составным запросом, который фильтрует только интересующий вас документ (используя IdsQuery) вместе с с запросом, для которого требуется пояснение.

...