에서 인덱스에 추가되지어떤 노드가 Neo4j
load csv with headers from "file:/sample.csv" as Jobs
create (TheJobs {Job_name: Jobs.insert_job, Job_type: Jobs.job_type, Owner: Jobs.#owner})
return TheJobs
및
CREATE INDEX ON :TheJobs(Job_name)
Output: Added 1 index, statement executed in 32 ms.
가 그럼 난 관계를 만들려고 지수이었다 내가 작성하는 데 사용 된 명령을 다음과 같이 내가 노드를 만드는 데 사용되는 쿼리입니다 다음 쿼리를 사용하여
Profile load csv with headers from "file:/Jobstofiles.csv"
as rels2
match (from :Files {Filename: rels2.Filename})
where rels2.Automatic or Manual="Automatic"
match (to :TheJobs {Job_name: rels2.Job})
create (from)-[:Is_triggered_by {type: rels2.Is_triggered_by}]->(to)
return from, to
실행 계획은 nodeindexseek를 표시하지만 데이터가 0 인 행/일치를 반환합니다. 나는 다음과 같은 쿼리 내가 잘못 뭐하는 거지
PROFILE MATCH (node :Jobindex {Job_name: 'Job1'}) RETURN node
Output: 0 rows
를 사용하여 인덱스에서 노드를 검색 할 때 명확하게
일치?
당신의 말씨와 질문을 볼 때, 나는 당신이 색인이 무엇인지, 그리고/또는 어떻게 색인이 neo4j에서 작동하는지 이해하지 못한다고 생각합니다. 여러분이 만든 노드에 대한 세부 사항과이 명령이 무엇을하고 있다고 생각하는지 이해할 수 있습니까? 그것은 내 가정을 확인하거나 배제 할 수 있으며 실제 문제를보다 효과적으로 해결할 수있게 해줍니다. – InverseFalcon
인덱스를 이해하면 특정 속성 (주로 기본 키)에 따라 인덱스가 만들어집니다. 이것은 해당 속성을 가진 모든 노드의 해당 속성에 대한 모든 값의 중복 목록과 같습니다. 따라서 인덱스 된 속성의 특정 값을 기반으로 노드를 검색하면 neo4j는 모든 노드를 검색 할 필요가 없으며 대신 인덱스의 속성 값과 관련된 노드 만 찾습니다. – MohanVS
로드 csv 작업을 사용하여 관계를 만들려고하고 있는데 여기서 인덱스를 사용하여 노드를 찾으려고합니다. 905 개의 관계 집합에 대해로드 연산을 실행했습니다. 인덱싱되지 않은 실행 시간은 7 분입니다. 이를 달성하기위한 db 적중 횟수는 모든 노드를 검색 할 때 6 억 2 천만입니다. 색인을 사용하여이를 줄이려고합니다. – MohanVS