оценка термина и терминов различна - PullRequest
0 голосов
/ 21 февраля 2020

Я получаю документы путем фильтрации и использования запроса term, чтобы применить оценку. Запрос должен соответствовать всем животным, имеющим указанный цвет - чем больше цветов соответствует, тем выше оценка do c. Странно то, что term и terms результат запроса в другом выигрыше.

{
    "query": {
        "bool": {
            "should": [
                {"terms": {"color": ["brown","darkbrown"] } },
            ]
        }
    }
}

должен быть таким же, как при использовании

{"term": {"color": {"value": "brown"} } },
{"term": {"color": {"value": "darkbrown"} } }

Запрос no , 1 дает мне одинаковую оценку за документ, независимо от того, совпадают ли 1 или 2 условия. Последний, конечно, возвращает более высокий балл, если сопоставлено больше цветов.

Как указано в коэффициент координации , возвращаемый результат должен быть выше, если сопоставлено больше терминов. Поэтому эти два запроса должны давать одинаковую оценку - или потому что term запросы не анализируют поисковый запрос?

Мое поле проиндексировано как текст. Строки индексируются как «массив» строк, например "brown","darkbrown"

1 Ответ

0 голосов
/ 22 февраля 2020

Разница между термином и запросом терминов:

  • Запрос терминов возвращает документы, содержащие одно или несколько точных терминов в указанном поле.
  • запрос терминов совпадает с запросом термина, за исключением того, что вы можете искать несколько значений.
  • Предупреждение: Избегайте использования запроса термина для текстовых полей .

Что касается вашей части

или потому, что запросы по термину не анализируют поисковый запрос?

Да, это потому что поисковый термин не анализирует искомый термин. Это просто соответствует точному поисковому запросу.

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