2011-05-01 1 views
0

모델 개체는 두 가지 유형 만 있다고 가정합니다.Complex PlayFramework를 사용하는 전체 텍스트 검색 검색/최대 절전 모드 검색

태그 제

제 태그의 변수 번호뿐만 아니라 문서의 본문을 포함하는 큰 텍스트 필드를 가질 수 있습니다.

내가 정의한 태그 집합과 일치하는 기사를 효율적으로 전체 텍스트 검색하려면 어떻게해야합니까? 예를 들어 1 백만 건의 기사 중에서 1) body : business *와 (2) 'America', 'Economy'태그가 포함 된 태그가있는 기사를 효율적으로 쿼리 및 계산할 수있는 가장 좋은 방법은 무엇입니까? "아시아"?

1) (HQL 또는 일반 old SQL 사용)과 2) (lucene 쿼리 사용)을 별도로 수행 할 수 있지만 둘 다 함께 사용할 수는 없습니다. 누구 아이디어있어?

+0

"둘 다 함께"의미하는 것이 확실하지 않습니다 ... SQL DB 검색 및 lucene 쿼리는 서로 다른 인덱싱 데이터를 사용하는 두 가지 메커니즘으로 서로 다르게 작동하고 다른 결과를 반환합니다. 함께 사용하면 무엇을 의미합니까? – mandubian

+0

에서와 같이 나는 미국 (데이터베이스에서 수행해야하는 작업)과 세계 "비즈니스"(검색 엔진에서 수행해야하는)가 포함 된 기사로 태그가 지정된 기사를 필터링하려고합니다. 개별적으로 각 방법을 사용하여 기사를 찾은 다음 결과의 교차점을 취할 수는 있지만 실제로 비효율적 인 방식 인 것 같습니다. 함께 사용하면 결과를 교차시키는 것보다 효율적으로 구현할 수있는 방법이있는 것입니다. – Tony

+0

예, 교차로를 이해하는 것은 쉽지 않으며 두 결과 세트의 타당성을 고려하지 않습니다. 두 가지를 혼합하는 방법이 있다면 나는 모른다 :) ... 내가 아는 유일한 방법은 모든 검색 정보를 단일 인덱싱 엔진에 저장하는 것인데, 일부 DB 데이터를 lucene과 함께 인덱싱하는 것과는 아무런 관련이 없다. 그것을 위해 만들어졌습니다. 따라서 lucene (또는 탄성 검색과 같은 다른 엔진)을 사용하여 모든 것을 검색 할 수 있습니다. – mandubian

답변

1

Elastic Search 모듈을 보았습니까? 매우 강력한 모듈이며 모듈 소유자는 자신의 작업을 문서화하는 많은 작업을 수행했습니다.