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()

现在,在你做任何事情之前,你必须设置配置属性。您可以在此处了解可能的属性和值。为此,我们只需要多两行。

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 回答