Я использую Hibernate Lucene для индексации таблицы MOVIE. Я хочу индексировать и искать по столбцу заголовка, включая «the» и «a» как часть поиска. Ex, «последний человек, стоящий», «Самый разыскиваемый человек». «The» и «A» являются релевантными как часть результатов поиска.Поиск Hibernate lucene включает в себя «the» и «a» как часть поиска
Проблема в том, что я использовал index = Index.UN_TOKENIZED в @Field, тогда поиск не может быть выполнен. Если я использовал Index.TOKENIZED, тогда я не могу выполнить поиск с помощью «the» и «a».
Может ли кто-нибудь дать мне руководство? Заранее спасибо.
Ниже приведен фрагмент кода:
@Field (индекс = Index.UN_TOKENIZED, магазин = Store.NO) < < < Я попытался Index.TOKENIZED также. @Column (name = "TITLE") закрытый заголовок строки;
Код для поиска:
@Field(index = Index.UN_TOKENIZED, store = Store.NO) <<< I've tried Index.TOKENIZED also.
@column (имя = "TITLE") частная строка заголовка;
Код для поиска: FullTextEntityManager fullTextEntityManager = Search.getFullTextEntityManager (entityManager);
QueryBuilder queryBuilder = fullTextEntityManager.getSearchFactory(). BuildQueryBuilder(). ForEntity (Movie.class) .get(); Query luceneQuery = queryBuilder.keyword(). OnField ("title") .matching (title.toLowerCase()). CreateQuery();
return fullTextEntityManager.createFullTextQuery (luceneQuery, Movie.class) .getResultList();
Я думаю, что нашел решение, определив анализатор – user1775967