Поиск в спящем режиме сортирует результаты в зависимости от релевантности, это нормально. В дополнение к этому, если два документа имеют одинаковый балл, они упорядочены по их первичным ключам.Hibernate Search sorting
Например,
Книга1: ID = 1, BOOKTITLE = "спящий режим поиска по примеру".
book2: ID = 2, BOOKTITLE = «спящий режим поиска в действии»
Если я делаю запрос для поиска терминов «спящий режим поиска», я бы этот приказ: Книга1 затем book2
Я хотел бы инвертировать этот заказ: book2 then book1. Это означает инвертирование порядка первичного ключа. Есть ли способ сделать это без реализации пользовательского сходства? В то же время соблюдение порядка соответствия.
Если я использую объект «Сортировка», сохраняю ли счет в режиме спящего режима? В приведенном выше примере, если я ищу «поиск в спящем режиме», документ с id = 3, который содержит только термин «спящий режим», будет отсортирован третьим после id = 2 и id = 1? Даже если я инвертирую заказ Id? –
Я сказал это, потому что я попробовал («id», SortField.LONG, true), он отлично работает, но порядок зависит только от идентификатора, а не от идентификатора и документа. –
Вот почему первый «SortField» в сортировке требует быть 'SortField.FIELD_SCORE'. Это говорит о том, что сначала сортировать по результату. – femtoRgon