Повышение отрицательных / обратных ключевых слов в AWS CloudSearch?
Используя синтаксис структурированных запросов, как уменьшить _score
при сопоставлении с определенным ключевым словом в текстовых полях без полного исключения этих совпадений?
Например, я могу повысить некоторые ключевые слова относительно других, используя следующие выражения как часть q
параметр:
(or (not (term 'something')) (term boost=10 'something'))
В этом примере все результаты возвращаются независимо от того, есть ли совпадение для "чего-то", но совпадения с "чем-то" ранжируются намного выше из-за boost=10
,
То, что я собираюсь сделать, это противоположность примера, где все результаты возвращаются, но результаты, соответствующие "чему-то", должны быть ранжированы намного НИЖЕ, чем результаты, которые не содержат "чего-то".
Я пробовал это, но они не работают:
(or (not (term 'something')) (term boost=-10 'something'))
// Negative not allowed in syntax
(or (not (term 'something')) (term boost=0.1 'something'))
// Results are almost the same as without this expression
(or (not (term boost=10 'something')) (term 'something'))
// Results are exactly the same as without this expression
(or (not boost=10 (term 'something')) (term 'something'))
// Results are exactly the same as without this expression