0

組み込みの Neo4j を実行する場合、デフォルト構成では自動ノード インデックスがフルテキストとして設定されません (つまり、すべての Lucene クエリで大文字と小文字が区別されます)。自動インデックスをフルテキストに設定するにはどうすればよいですか?

4

1 に答える 1

3

まず、これを新しいデータベースで実行する必要があります。自動インデックスは遅延作成されます。つまり、最初のアクセスまで作成されません。この構成を実行するには、最初のアクセスまで必要です。作成後にプロパティを変更しようとしても、機能しません。そのため、最初のステップは、自動インデックス作成 (ノードまたは関係) を有効にしてデータベースをロードすることです。

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

ここで、何かを行う前に、構成プロパティを設定する必要があります。可能なプロパティと値については、こちらで確認できます。これを行うには、あと 2 行必要です。

val autoIndex = db.index.forNodes("node_auto_index")
db.index.setConfiguration(autoIndex, "type", "fulltext")

それだけです。頂点と関係を作成できるようになり、自動インデックスが作成されて入力されます。次のコードを使用して、Lucene クエリを使用してクエリを実行できます。

autoIndex.getAutoIndex.query("label:*caseinsensitive*")
于 2013-05-17T19:07:32.190 に答える