Есть ли способ получить как минимум N записей из Sunspot Solr Query? - PullRequest
0 голосов
/ 10 апреля 2020

Я пытаюсь получить минимум 3 записи для определенной модели. Проблема, с которой я сталкиваюсь сейчас, заключается в том, что также задействовано соответствие full_text. Он отлично работает, когда я передаю ключевое слово «Hello» в запросе. Это соответствует только одной записи, потому что это единственная, которая существует.

Я бы хотел, чтобы запрос как минимум выбрал 3 записи, даже если они не совпадают в full_text. Однако остальные условия должны быть выполнены.

Есть ли способ убедиться, что минимальный счет соблюден?

1 Ответ

1 голос
/ 10 апреля 2020

Если вы используете парсер запросов edismax для Apache Solr, вы можете попробовать использовать параметр "bq" для вашего фактического текста запроса (используйте с усилением более 1) и установить "q = : " всегда; в дополнение к этому вы также можете использовать параметр «мм», если вы ожидаете многословных запросов.

При таком подходе у вас будет полный повторный вызов в поиске, и он будет иметь ту же релевантность, что и ранее. запросы, если вы не хотите определять повышение уровня поля, используя в месте, отличном от "bq".

Я не использовал Sunspot Solr для RoR, но эквивалентные термины могут быть "minimal_match" для "mm"; «Функция повышения» для «BQ».

...