Solr: Boost by string field

Как я могу повысить запрос по строковому полю? Я нашел только ресурсы, объясняющие повышение даты.

Например, эти документы должны быть увеличены в следующем порядке:

  1. Приоритет = а
  2. Приоритет = Ь
  3. Приоритет = с

Я знаю, что могу отсортировать по приоритету, но хочу совместить это поле с механизмами решаемой релевантности.

2 ответа

Решение

Решением является функция повышения с использованием rord ()

bf=rord(priority)^10

rord отображает строку в целое число, которое затем может быть использовано для повышения.

Если вы хотите применить пользовательские веса для каждого значения; то есть сказать, что b в два раза важнее, чем aили что ваши приоритеты не обязательно упорядочены (т.е. c должно быть увеличено больше, чем b, но не более чем a), вы можете добавить буст-запрос с каждым весом:

bq=priority:a^10 priority:b^2 priority:c^5
Другие вопросы по тегам