2013-05-17 5 views
0

Neo4j가 포함 된 경우 기본 구성에는 자동 노드 인덱스가 fulltext로 설정되지 않습니다. 즉, 모든 Lucene 쿼리는 대/소문자를 구분합니다. 자동 인덱스를 전체 텍스트로 구성하려면 어떻게합니까?Neo4j 포함 된 Fulltext 자동 노드 인덱스

답변

3

처음에는 새 데이터베이스에서이 작업을 수행해야합니다. 자동 색인은 지연 생성됩니다. 즉, 첫 x 째 액세스 때까지 작성되지 않습니다. 이 구성을 수행하기위한 첫 번째 액세스가 있어야합니다. 속성을 이미 만든 후에 변경하려고하면 속성이 작동하지 않습니다. 따라서 첫 번째 단계는 자동 인덱싱이 활성화 된 상태로 데이터베이스를로드하는 것입니다 (노드 또는 관계).

val db = new GraphDatabaseFactory().newEmbedddedDatabaseBuilder("path/to/db"). 
    setConfig(GraphDatabaseSettings.node_keys_indexable, "label,username"). 
    setConfig(GraphDatabaseSettings.node_auto_indexing, "true").newGraphDatabase() 

이제는 구성하기 전에 구성 속성을 설정해야합니다. 가능한 속성 및 값 here에 대해 알아볼 수 있습니다. 이렇게하려면 두 줄 더 필요합니다.

그리고 그게 전부입니다. 이제 정점과 관계를 만들 수 있으며 자동 인덱스가 생성되어 채워집니다. 다음 코드를 사용하여 Lucene query을 사용하여 쿼리 할 수 ​​있습니다.

autoIndex.getAutoIndex.query("label:*caseinsensitive*") 
+0

Neo4j 2.0에서는 레이블에 새로운 색인을 만들 수 있습니다. 즉, 비동기를 따라 잡을 수 있습니다. –

+1

Neo4j 2에서 맞춤 Lucene 분석기를 제공하는 방법 *? – alexanoid