문자열에 '='의 경우 빈 결과를 반환합니다 :최대 절전 모드 검색 (루씬은) 내가 열 <code>test</code>의 값으로 내 최대 절전 모드 모델을 검색 루씬을 구성
- AB = ABC
- AB = BCD
I는 fo를 만들어 열 값으로 검색을위한 llowing 코드 : 코드가 작동 위
String queryValue = "AB";
QueryBuilder qb = org.hibernate.search.jpa.Search.getFullTextEntityManager(em).getSearchFactory().buildQueryBuilder().forEntity(Test.class).get();
Query query = qb.all().createQuery();
BooleanJunction<BooleanJunction> conjuction = qb.bool();
String searchValue = new StringBuilder().append("*").append(queryValue .toLowerCase()).append("*").toString();
conjuction.should(qb.keyword().wildcard().onFields(new String[] { "test"}).matching(searchValue).createQuery());
query = conjuction.createQuery();
FullTextQuery textQuery = org.hibernate.search.jpa.Search.getFullTextEntityManager(em).createFullTextQuery(query, Test.class);
return textQuery.getResultList();
값 AB
와 루씬을 위해 찾아 나에게 2 개 레코드를 반환,하지만 난 AB=
을 찾고 때 나에게 빈 결과를 반환합니다.
UPDATE
여기에 색인에 대한 코드입니다 : Lucen 이후
나는 빈 결과를 얻고 이유를 알아FullTextEntityManager fullTextEntityManager = Search.getFullTextEntityManager(em);
fullTextEntityManager.createIndexer().startAndWait();
이 나에게 2 개 레코드를 반환해야는? 어떻게 해결할 수 있습니까? 사용 된 분석기 기본적
어떻게 색인을 생성합니까? – root545
ID로 색인화하는 것을 의미합니다. – bontade
색인 생성 중에 사용하는 분석기는 무엇입니까? – root545