Я использую Solr 5.2 с возможным обновлением до 8.2 в ближайшее время вместе с edismax для поиска строки среди выбранных полей. Некоторые поля запроса используют ngram, поэтому результаты, содержащие строку поиска, будут отображаться в поиске. Я хочу, чтобы документы, в которых есть совпадение, начинающееся со слова поиска, отображались в начале результатов поиска.
Моя первая попытка заключалась в том, чтобы поместить как строковое поле, так и поле текстового ngram в qf
и выполнить поиск как по строке, так и начать с использования повышения. Например, если строка поиска «lorem», я бы использовал:
q=(лорем*) или (лорем)
Я бы также использовал бустеры для строковых полей. Тем не менее, совпадения ngram, похоже, набирают больше очков, поэтому совпадения, начинающиеся со слов поиска, не всегда отображаются первыми.
Как найти совпадения, в которых поисковые слова находятся в начале строки поиска?