복합 필드를 Lucene 쿼리에 적용하는 기능을 구현하는 데 문제가 있습니다.복합 필드를 lucene 쿼리로 확장하는 기능
대신 루씬 쿼리 입력하는 :
제목 : "올바른 방법"주제 :
모든 : "올바른 방법"
을 나는 사용자가 입력 할 수 있도록하려면는 " 올바른 방법 "
여기서는 모두 실제 필드 제목과 제목으로 구성된 합성 필드입니다. 이 함수는 합성 필드의 구성 요소가 확장 된 유효한 lucene 쿼리를 생성해야합니다.
문자열 쿼리 = applyCompositeFields (문자열 쿼리 스트링 compositeField 문자열 [] 서브) {
}가 제공된 쿼리 루씬 검색어 구문에 따라 임의의 질의 일 수있다 (참조 : http://lucene.apache.org/core/old_versioned_docs/versions/3_0_0/queryparsersyntax.html#Range%20Searches)를
들어 예 : 모든
:
,536,913,632 : [20020101 20030101 TO]는는 확장해야 하는가 10
제목 : [20020101 TO 20030101] 제목 : [20020101 TO 20030101]
복잡한 쿼리 입력을 어지럽히 지 않고이 작업을 수행하는 방법에 대한 아이디어가 있으십니까?
Lucene 쿼리 개체 모델을 사용해 보았지만 쿼리 요소에 필드 이름을 설정할 수 없으므로 쓸모가 없습니다.
어떻게 그렇게됩니까? 내가 말할 수있는 것이 아닙니다. – user1387012
쿼리에 비 복합 필드가 포함될 수도 있습니다.예 : all : [20020101 TO 20030101] 및 제목 : lucene – user1387012
이 시나리오에서는 MultiFieldQueryParser가 작동하지 않습니다. 우리는 복합 필드, 그렇지 않은 필드를 가지고 있습니다. 쿼리 또한 복잡 할 수 있습니다. 같은 주제 : "hello"body : test AND all : [1222 to 2333] 등등. – user1387012