Я работаю с весной, используя hibernate, maven и mysql, я пытаюсь создать простой сайт для фильмов и актеров. Что я хотел бы способ поиска, где вы вводите слово или часть слова/название, и вы получите некоторые результаты, это мой запрос:spring mvc Hibernate Поисковый запрос
@Transactional
public List<Movie> searchForMovie(String searchText) {
FullTextSession fullTextSession = Search.getFullTextSession(getSession());
QueryBuilder qb = fullTextSession.getSearchFactory().buildQueryBuilder().forEntity(Movie.class).get();
org.apache.lucene.search.Query query = qb.keyword().onFields("year", "title").matching(searchText)
.createQuery();
org.hibernate.Query hibQuery = fullTextSession.createFullTextQuery(query, Movie.class);
List<Movie> results = hibQuery.list();
return results;
}
Как вы можете видеть, я использую «keyword», это означает, что вам придется искать целое слово/имя, а не только его часть. Например, если я хочу найти фильм «голодные игры», мне придется набирать «голод» или «игры», я хочу, чтобы можно было писать только «hunge» и получать результаты. Кажется, я не могу найти запрос, который сделает это, мысли?
спасибо, ребята, это работает отлично! (Раньше я старался с подстановочным знаком, но не использовал «*» ..) Спасибо! – user3486059