neo4j 관련 프로젝트를 진행하고 있으며 neo4j의 "색인"을 이해하지 못합니다. 관계형 데이터베이스에서는 영구 디스크에 테이블과 인덱스가 있습니다.neo4j 색인을 저장하고 검색하는 방법
neo4j의 경우 노드, 관계 (에지) 및 인덱스가 동일하다고 가정합니다. 나는 이것에 관해 틀릴지도 모른다. 이 예에서
, https://github.com/mrhooray/neo4j-sample/blob/master/src/EmbeddedNeo4jWithIndexing.javapublic class EmbeddedNeo4jWithIndexing {
private static final String DB_PATH = "/home/mrhooray/Documents/neo4j_db/";
private static final String USERNAME_KEY = "username";
private static GraphDatabaseService graphDb;
private static Index<Node> nodeIndex;
//...
public static void main(String[] args) {
//...
// index is created as following
nodeIndex = graphDb.index().forNodes("nodes");
}
// and used to insert data
private static Node createAndIndexUser(final String username) {
Node node = graphDb.createNode();
node.setProperty(USERNAME_KEY, username);
nodeIndex.add(node, USERNAME_KEY, username);
return node;
}
}
EmbeddedNeo4jWithIndexing 그래프 데이터베이스 추상화이다. 그러나 그래프 데이터베이스를 만들고 채운 다음 프로그램을 종료하면 어떻게됩니까? 그런 다음 나중에 동일한 인덱스를 사용하여 동일한 데이터베이스에 액세스하려고합니다. 그러면 EmbeddedNeo4jWithIndexing의 다른 객체를 만들 수 있습니까? 어떻게하면 원래 인덱스를 다시 얻을 수 있습니까?
전화
nodeIndex = graphDb.index().forNodes("nodes");
다시? 그런 식으로 작동하지 않는 것 같습니다.
고맙습니다.