Как обойти ограничение критериев поиска в спящем режиме (lucene) и проблему getResultSize?

У поиска в спящем режиме (lucene) есть проблема: если вы примените ограничение критериев к FullTextQuery и примените ограничения разбивки на страницы, то есть criteria.setMaxResults() и criteria.setFirstResult(), fullTextQuery.getResultSize() вернет счетчик, который не включает ограничение критериев.

HSEARCH-753 подтверждает эту проблему и решает ее (только в том случае, если создается исключение с предупреждением )

Может ли кто-нибудь предложить предложения о том, как я могу обойти эту проблему?


person jaseFace    schedule 28.10.2011    source источник


Ответы (2)


Как ни странно, все, что мне нужно было сделать, чтобы исправить это, - это переупорядочить код, чтобы вызов fullTextQuery.getResultSize() был перед вызовом fullTextQuery.list();.

О чем я не решаюсь даже упоминать, потому что это звучит слишком "вуду" - но это определенно работает ...

person RedYeti    schedule 15.08.2013

Я использовал Hibernate Query для подкачки, которую он поддерживал. проверьте приведенный ниже код для получения более подробной информации.

финальный запрос query = session.createQuery (getSession (). getNamedQuery ("Ваш запрос");

query.setMaxResults (20); query.setFirstResult (10);

person Community    schedule 28.10.2011
comment
Спасибо, но я столкнулся с проблемой поиска в спящем режиме (lucene). Пожалуйста, ознакомьтесь с приведенной выше ссылкой, чтобы узнать о перехвате исключений. :-) - person jaseFace; 29.10.2011