나는 Lucene을 사용하고 있으며 원거리 속성이있는 문서를 색인화하고 검색하는 방법을 찾고있다. 예를 들어lucene 경계를 넘어 간다
내가 가진 :
Document 1: Price:[30 TO 50]
Document 2: Price:[45 TO 60]
Document 3: Price:[60 TO 70]
그리고 은 내가 Price in [55 TO 65]
검색하면 내가 Document 2
을 얻을해야한다, 위의 예에서 그 범위를 특정 간격 교차하는 모든 문서를 검색하고 싶습니다 결과로 Document 3
.
NumericRangeQueries만으로도 트릭을 수행 할 수 없다고 생각합니다. R- 트리와 비슷한 인덱스로 작업해야하지만, Lucene에서 구현되어 있습니까? 또한, 쿼리 Price in [55 TO 65]
에는 두 개의 경계가 있기 때문에 필요한 것은 MultiTermQuery의 하위 클래스 여야한다고 가정하지만 MultiTermQuery의 하위 클래스 중에서는 아무 것도 볼 수 없습니다.
어떤 도움, 감사
실비오을 감사
P.S. Lucene 2.9.0을 사용하고 있습니다. 그러나 필요한 경우 최신 릴리스로 업데이트 할 수 있습니다.
그런 식으로 필자는 간격을 이산화하기 위해 사용하는 값의 수와 연결될 것이고 내 문서 스키마를 부 풀릴 많은 필드 (각 이산 값마다 하나씩)를 생성 할 것입니다. 물론 해결책 일 수도 있지만 최후의 수단으로 사용하겠습니다. –
별도의 필드를 만들 필요가 없습니다. 모든 값은 동일한 필드에서 처리되며 문서 스키마를 변경하지 않아도됩니다. – bajafresh4life