2012-06-26 3 views
1

루씬 쿼리 다음 시작 노드를 제한 : 매우 느린 도착Neo4j 사이퍼 : 나는 루씬 쿼리를 사용하여 인덱스에서 노드의 목록을 찾아 시작하는 사이퍼 쿼리가

START n=node:people("name:ROBERT") 
MATCH n--o 
RETURN n.name, COLLECT(o.task_name) 

를 할 때 인덱스의 쿼리 많은 수의 결과를 반환합니다. 나머지 쿼리에서 사용되는 노드의 수를 제한하고 싶습니다. 즉, n = node : people ("name : ROBERT")을 30 개의 결과로 제한합니다.

lucene 또는 Cypher에서이를 수행 할 분명한 방법이 없습니다. 나는 두 개의 쿼리로 분할 수도있을 것 같군요

는 예 :

START N = 노드 : 명 ("이름 : ROBERT") 반환 n 개의 LIMIT 10

그런 다음 쿼리의 두 번째 부분은을 사용하여 실행 노드가 반환되었지만 더 좋은 방법이 있는지 궁금해하고 있었습니까?

답변

0

미안하지만, 지금은 더 좋은 방법이 없습니다.

+0

빠른 응답을 보내 주셔서 감사합니다. 향후의 기능으로 요청할 수 있습니까? –

+0

... 질문이 하나 더 있습니다. 두 쿼리를 하나로 연결하는 방법이 있습니까? 나는 REST API에 요청을하고 있는데 두 개의 별도 호출을하는 것이 비효율적 인 것으로 보인다. 감사. –

+0

우리는 LIMIT를 WITH 절에 추가하는 것에 대해 논의했습니다. 이것이 첫 번째 문제를 해결할 것입니다. 또한 UNION을 Cypher에 추가하는 방법에 대해 논의했습니다. 두 번째 사용 사례를 해결할 수 있습니다. 이 두 기능은 아직 계획 단계에 있습니다. 죄송합니다. – Andres