나는 Hibernate Search를 처음으로 사용하고 있으며 몇 가지 의구심이있다. 네가 나에게 몇 가지 제안을 해줄 수 있으면 고맙다.Hibernate 조건에 대한 성능 제안 제안
나는 다음과 같은 개체가 :
@Entity
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Field(name = FIELD_LASTNAME, analyze = Analyze.YES, index = Index.YES)
private String name;
private int age;
.....
그래서, 검색 사용자를 자신의 나이가 25되는 I 다음을 수행하십시오
QueryBuilder qb = fullTextEntityManager.getSearchFactory()
.buildQueryBuilder().forEntity(User.class).get();
Query luceneQuery = qb.keyword().onFields("name").matching("Geor").createQuery();
Query jpaQuery = fullTextEntityManager
.createFullTextQuery(luceneQuery, User.class)
.setCriteriaQuery(fullTextEntityManager
.createCriteria(User.class)
.add(Restrictions.eq("user.age", 25)));
내 질문
은 다음과 같습니다- 인가 기준을 사용하여 정보를 필터링하는 것이 옳습니까?/언제 그것을 유용하게 사용할 수 있습니까?
- @Field를 사용하여 "나이"속성을 색인화해야합니까?
- 필터링 할 때 사용해야하는 모든 항목의 속성을 색인화해야합니까?
- 색인 된 값을 사용하여 성능이 어떻습니까?
- lucene에서 색인을 생성해야하는 값을 선택하는 방법은 무엇입니까? 사전에
감사
답변 해 주셔서 감사합니다. 하지만, 왜 "Hibernate Search Lucene은 Hibernate ORM Criteria 쿼리와 섞여서는 안된다"라고 말하는가? 그것은 지원되지 않는다. " 예제에서는 Criteria를 사용하고 있습니다. 나는 결과를 얻고있다. – devops85
지원되지 않으며 잘못된 결과가 발생할 수 있습니다. Hibernate Search 문서를 체크한다. 정확히 이것에 대한 경고문을 포함하고있다. – Hardy
오케이. 감사합니다! – devops85