Есть возможность поиска спящего режима для сортировки результата в соответствии с лучшим матчем после того, результаты поиска из базы данныхИспользования Hibernate Поиска по Оценить Результат
3
A
ответ
3
Lucene имеет функциональные возможности сортировки (который по умолчанию релевантности).
Поиск в спящем режиме предоставляет эту функциональность (FullTextQuery.sort). если вы не хотите поведения по умолчанию, вы можете передать свой собственный объект сортировки.
Sort sort = new Sort(new SortField("name"));
searchQuery.setSort(sort);
List results = searchQuery.list();
В вашем случае сортировка по умолчанию должна быть достаточной.
2
По умолчанию Hibernate Search будет сортировать результаты в зависимости от релевантности результатов (как указано в doc_180), определенных по умолчанию для выполнения оценки Lucene.
Однако, если вас не устраивает способ его ранжирования (например, вы можете захотеть, чтобы сущности People были ранжированы выше всех других индексированных объектов, которые у вас есть), тогда вы можете сделать один из двух вещи:
- Применить динамический или статический коэффициент значимости для субъектов, которые должны быть рассмотрены более релевантными (см документации по аннотациям @Boost и @DynamicBoost), или
- Вы можете написать свою собственную реализацию пользовательского скоринга путем расширения org.apache.lucene.search.Similarity (см. Hibernate Search Advanced Features). Фактор повышения, упомянутый в пункте 1, является одним из факторов этого общего алгоритма подсчета.
Thanks, doc_189 !! – Noor