оценка условия и условия запроса разные
Я получаю документы путем фильтрации и использования term
запрос на применение оценки. Запрос должен соответствовать всем животным определенного цвета - чем больше цветов будет сопоставлено, тем выше будет оценка документа. Странная вещь,term
а также terms
результат запроса к другой оценке.
{
"query": {
"bool": {
"should": [
{"terms": {"color": ["brown","darkbrown"] } },
]
}
}
}
должно быть таким же, как при использовании
{"term": {"color": {"value": "brown"} } },
{"term": {"color": {"value": "darkbrown"} } }
Запрос нет. 1 дает мне одинаковую оценку для документа независимо от того, совпадают ли 1 или 2 термина. Последний, конечно, дает более высокий балл, если сопоставлено больше цветов.
Как указано в координирующем факторе, возвращаемый балл должен быть выше, если найдено больше терминов. Следовательно, эти два запроса должны дать одинаковый результат - или потому, чтоterm
запросы не анализируют поисковый запрос?
Мое поле проиндексировано как текст. Строки индексируются как "массив" строк, например"brown","darkbrown"
1 ответ
Разница между термином и запросом терминов:
- Условия запроса возвращают документы, содержащие одно или несколько точных условий в указанном поле.
- Запроса термины такой же, как термин запроса, за исключением того, вы можете найти несколько значений.
- Предупреждение: избегайте использования термина "запрос" для текстовых полей.
Что касается вашей этой части
или это потому, что термические запросы не анализируют поисковый запрос?
Да, это потому, что поисковый запрос не анализирует искомый термин. Он просто соответствует точному поисковому запросу.