Вычислить возможный «max_score» для запроса ElasticSearch - PullRequest
0 голосов
/ 13 июня 2019

Я довольно новичок в экосистеме ElasticSearch, и мне нужно, чтобы сообщество помогло мне.

Мне нужно знать, можно ли считать результаты, полученные при полнотекстовом поиске, хорошими или нет. Я видел, что _score зависит от отправленного запроса и не может использоваться, чтобы определить, соответствуют ли наши результаты. После попытки найти обходной путь у меня появилась идея, но она, похоже, не работает, и я не могу найти, почему.

Я пытаюсь выполнить безболезненный скрипт для вычисления _score "фальшивого" документа, который не проиндексирован так:

{
    "script":
    {
        "source": "_score"
    },
    "context": "score",
    "context_setup":
    {
        "index": _my_index,
        "document":
        {
            "text": "the cat ate the dog"
        },
        "query":
        {
            "bool":
            {
                "should": [
                {
                    "term":
                    {
                        "text": "the"
                    }
                },
                {
                    "term":
                    {
                        "text": "cat"
                    }
                },
                {
                    "term":
                    {
                        "text": "ate"
                    }
                },
                {
                    "term":
                    {
                        "text": "the"
                    }
                },
                {
                    "term":
                    {
                        "text": "dog"
                    }
                }]
            }
        }
    }
}

Что я ожидаю, так это максимальный «теоретический» балл. Тем не менее, я получаю баллы даже меньше, чем индексированные документы, которые не идеально подходят. Я думал, что это потому, что IDF, используемый при обработке запроса, не был IDF, рассчитанным для всех моих проиндексированных документов, но я не могу найти, почему ...

Спасибо и извините за мой английский

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...