Почему Elasticsearch с Wildcard Query всегда 1.0? - PullRequest
0 голосов
/ 08 апреля 2019

Когда я выполняю поиск в Elasticsearch с помощью Wildcard-Query (Wildcard в конце), результат оценивается для всех попаданий в 1.0. Это по замыслу? Могу ли я где-нибудь изменить это поведение?

1 Ответ

0 голосов
/ 09 апреля 2019

Elasticsearch в основном говорит, что все результаты одинаково релевантны, так как вы предоставили неквалифицированный поиск (подстановочный знак, эквивалентный match_all). Как только вы добавите некоторый дополнительный контекст через различные типы запросов, вы заметите изменения в скоринге.

В зависимости от вашей конечной цели, вы можете посмотреть запрос Function Score - ссылка: https://www.elastic.co/guide/en/elasticsearch/reference/6.7/query-dsl-function-score-query.html

Первый приведенный пример даст вам практически случайные оценки для всех документов в вашем кластере:

GET /_search
{
    "query": {
        "function_score": {
            "query": { "match_all": {} },
            "boost": "5",
            "random_score": {}, 
            "boost_mode":"multiply"
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...