Я построил очень простой поиск в спящем режиме из документации спящего режима. Мне сложно ограничить результаты и хотелось бы немного посоветовать, что я делаю неправильно.Hibernate Search Ограничение результатов
Сценарий
Допустим, я использую один объект с названием описание как так
@Field(index=Index.YES, analyze=Analyze.YES, store=Store.NO)
private String name;
со следующими данными добавляются в индекс
1. Dell Laptop
2. Dell Desktop
3. HP Desktop
Мой поиск выглядит так ,
FullTextSession fullTextSession = Search.getFullTextSession(sessionManager.getSession());
QueryBuilder queryBuilder = fullTextSession.getSearchFactory().buildQueryBuilder().forEntity(Computer.class).get();
Query luceneQuery = queryBuilder.keyword().onFields("name").matching(keyword).createQuery();
org.hibernate.search.FullTextQuery fullTextQuery = fullTextSession.createFullTextQuery(luceneQuery, Computer.class);
Теперь все работает хорошо, когда вы делаете поиск ключевых слов, используя следующую команду,
Dell returns Dell Laptop, Dell Desktop
Desktop returns Dell, HP
Однако, когда вы делаете поиск, как это так, она не ограничивает результаты должным образом
Dell Desktop returns Dell Laptop, Dell Desktop, HP Desktop.
Как бы я ограничить результаты только возвратом одного совпадения?