2016-06-23 1 views
0

Я новичок в AWS CloudSearch, Существует уместность оценка (_SCORE), который вычисляется автоматически на основе поисковых терминов вхождений ..Увеличение CloudSearch _SCORE по конкретным номером

Мой вопрос заключается в том, что я могу увеличить мою оценку релевантности (_SCORE) на определенную величину на основе конкретного значения ключа ..

Пример:

Допустим, CloudSearch возвращает следующие два документа

fields: { 
    { 
     fullname: "Daniel Wildt", 
     active: "T", 
     _score: "82" 
    } 
    { 
     fullname: "Robert", 
     active: "F", 
     _score: "84" 
    } 
} 

Я хочу, чтобы первый документ (Daniel Wildt), чтобы быть выше ... Это означает, что при активным = T AWS должен добавить что-то к счету

ответ

0

К сожалению, вы не можете использовать пользовательские rank непосредственно, потому что это доступно только для числовых полей с поддержкой сортировки (int, double, date).

Вот несколько альтернативных вариантов

  • Сортировка: если вы планируете дать много веса на active поле, он станет достаточно доминирующий функционально эквивалентен оператору sort. То есть вы можете просто добавить sort=active desc к вашему запросу, чтобы получить результаты T перед F
  • Преобразование в int: сопоставьте T и F с числовыми значениями перед отправкой проиндексированных документов, например T = 1 F = 0, затем использовать их в выражении пользовательского ранга влияет на порядок результатов &expr.myrank=_score+active&sort=myrank
  • вес поля: Добавить active:'T' в запрос, который потенциально может исключить результаты, где активны = F, а затем использовать веса поля для корректировки влияния этого часть запроса: q.options={fields:['active^0.5']}. Для этого потребуется некоторая настройка
+0

Спасибо за ответ. Не могли бы вы прояснить последний момент. Или дайте несколько ссылок для чтения на –

+0

См. Http://docs.aws.amazon.com/cloudsearch/latest/developerguide/searching-compound-queries.html для добавления к вашему запросу и см. Http://docs.aws .amazon.com/cloudsearch/latest/developerguide/weighting-fields.html для получения дополнительной информации о весе поля. Я не хочу слепо разрабатывать все возможные направления, которые вас могут смутить, но дайте мне знать, если у вас возникнут конкретные вопросы после того, как вы попытаетесь разобраться в этом (при необходимости, при необходимости открыть новый вопрос). – alexroussos

Смежные вопросы