2011-02-07 3 views
4

부모/자식 속성을 기반으로 노드를 찾는 야외 쿼리에서 Lucene 쿼리를 만들 수 있습니까? 예를 들어, "foo"속성이 '1'로 설정된 모든 노드를 찾고 속성 "baz"가 '2'로 설정된 자식 연결에 의해 노드가 연결되도록하고 싶습니다 (어쩌면 "numeroAtto는"부모 노드와 "firmatario"의 속성입니다 자식 협회)부모/자식 속성을 기반으로 노드를 찾는 alfresco에서 Lucene 쿼리를 만들 수 있습니까

@crl\:numeroAtto:"6555" AND @crl\:firmatario:"Marco rossi" 

같은

뭔가 아이의 속성입니다. 연관 유형은 "firmatari"입니다 (사용 방법을 모르기 때문에 검색어에 포함되지 않았습니다).

lucene에게 말하려고합니다. "numeroAtto 속성을 가진 모든 노드를 찾습니다. 사전에 마르코 로시로 설정 속성 "firmatario"와

고맙습니다

이 작업을 수행하는 직접 루씬 방법은 없습니다
+0

(SQL 세계에서는 이것을 INNER 또는 OUTER JOIN이라고합니다.) – jevon

답변

4

합니다. : 6555과 그 (firmatari 아이들과 함께 연결 유형) 자녀가.

또 다른 아이디어 : 첫 번째는 모든 부모 노드를 반환 한 다음 반환 된 각 노드의 루트를 기반으로 검색을 작성합니다. .

5

연결을 검색 할 수 없으므로 느린 쿼리를 작성하지 않아도됩니다. 그러나 상위 Type에 연관의 새 d : text 속성을 추가하십시오.

그래서 Lucune을 통해 검색 할 수 있습니다. 완전히 작동하게하려면 컨텐츠 업데이트를 확인하는 Java Behavior를 작성하십시오. 그리고 '당신'의 연관성이 발견되면 그것을 d : text 속성에 추가합니다.

이렇게하면 lucene 검색은 매우 빠릅니다.

관련 문제