Как расставить приоритеты полных предложений вместо отдельных условий поиска?

В моем экземпляре CloudSearch я хочу отдать больший приоритет полным фразам, а не просто количеству слов.

Например, когда я ищу «foo bar», я хотел бы, чтобы документы, в которых «foo» и «bar» рядом друг с другом, оценивались лучше, чем документы, в которых два термина разбросаны по документу. Конечно, любой другой документ, содержащий любое из этих слов, должен быть извлечен, но не иметь такой высокой оценки.

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


person Nick    schedule 04.10.2017    source источник


Ответы (1)


$searchQuery = array(
  'query' => "(or ".$searchParam." (phrase boost=10 ".$searchParam."))",
  'queryParser' => 'structured',
  'queryOptions' => json_encode(array('defaultOperator' => 'or'))
);

Это сработало до некоторой степени. Полностью случайное значение повышения.

person Nick    schedule 11.10.2017