일부 필드에서는 전체 텍스트 검색이 필요하고 다른 필드에서는 기본 제한이 필요한 복잡한 쿼리가 있습니다. 최대 절전 모드 검색 설명서 strongly advises against 전체 텍스트 검색 쿼리에 데이터베이스 쿼리 제한을 추가하고 모든 필드를 전체 텍스트 인덱스에 추가하는 recommends. 내가 가진 문제는 다른 분야는 휘발성이다. 값은 매분마다 변경 될 수 있으며 데이터베이스에 대한 업데이트는 검색을 수행하는 JVM 외부에서 발생할 수 있으므로 로컬 Lucene 색인이 해당 필드와 관련하여 유효하지 않을 가능성이 높습니다.관계형 데이터베이스 쿼리로 Hibernate 검색 결과 병합
여기에 전략 권장 사항이 있습니다. 내가 지금까지 생각해 낸 최선의 방법은 데이터베이스 쿼리를 먼저 실행하고 (개체 ID 만 가져 오기) 결과를 수동으로 조인 한 다음 전체 텍스트 검색을 실행하는 것입니다. 어떻게하면 데이터베이스의 객체 ID 집합으로 Lucene 결과를 필터링 할 수 있습니다. 물론 각 개별 쿼리에서 얼마나 많은 결과를 얻을지 모르겠으므로 성능과 메모리가 걱정됩니다. 최악의 경우 수만 행이 될 수 있습니다.