문제

도메인 객체를 위해 최대 절전 모드 검색을 사용하고 하나의 테이블에 Lucene 인덱싱을 적용했습니다. 이제이 테이블에서 도메인 객체에 대해 선택하고 색인이없는 다른 테이블과 결합 된 필터링을 적용하고 싶습니다.

Exampple의 경우, 인덱싱 된 경매 로트 테이블이 있습니다. 그리고 나는 따옴표 테이블이 있습니다. 인용문에는 경매 부지에 대한 참조가 있습니다.

경매 테이블에서 전체 테스트 검색을 수행하고 따옴표가없는 일치하는 엔티티를 반환하고 싶습니다. 일반 SQL에서 이것은 가입에 의해 달성됩니다.

그러나 Hibernatesearch의 상황에서는 도메인 객체를 얻기 위해 전체 테스트 검색을해야하지만 Join으로 필터링을 수행하는 방법을 모르겠습니다.

어떤 신체 도이 작업을 수행하는 방법이 있습니까?

도움이 되었습니까?

해결책

검색의 색인을 만들 때 필터링을 권장하지 않습니다. 주로 내가 아는 한 최대 절전 모드 검색에 의해 지원되지 않기 때문에, 또한 의미가 없기 때문입니다. 내 의견으로는해야 할 일은 '자녀'객체와의 관계를 포함하여 검색하고자하는 객체를 색인하는 것입니다. 나는 당신의 actionlot 객체가 당신의 따옴표 객체와 일대일 관계를 가지고 있다고 가정합니다. 이랑 @IndexEmbedded 주석, 인용문을 색인화해야 할 객체로 표시 할 수 있습니다. 견적없이 ActionLots를 검색 할 때 검색 쿼리의 제한 사항을 사용하여 검색 중에 또는 검색에 전역 필터를 적용하여 필터링 할 수 있습니다. 이것은 그것을 사용하여 수행 할 수 있습니다 필터 옵션 최대 절전 모드 검색으로 제공됩니다.

다른 팁

@indexembedded 또는 classBridge를 사용하는 것이 확실히 올바른 접근법입니다. 또한 데이터를 변경해도 문제가되지 않아야합니다. 그것이 자동 인덱싱의 것입니다. 견적이 변경 될 때마다 모든 데이터를 다시 표시 할 필요는 없습니다. 자동 인덱싱에 의존하면 추가 된/업데이트 된 데이터 만 다시 표시됩니다. 참고 사항 - 관련 견적이 변경 될 때 ActionLot 인스턴스의 색인이 업데이트되기를 원한다면 양방향 관계가 있어야하고 @ConstainedIn을 사용해야합니다.

--튼튼한

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top