【发布时间】:2013-05-17 19:07:32
【问题描述】:
在运行 Neo4j 嵌入式时,默认配置没有将自动节点索引设置为全文(这意味着所有 Lucene 查询都区分大小写)。如何将自动索引配置为全文?
【问题讨论】:
标签: neo4j
在运行 Neo4j 嵌入式时,默认配置没有将自动节点索引设置为全文(这意味着所有 Lucene 查询都区分大小写)。如何将自动索引配置为全文?
【问题讨论】:
标签: neo4j
对于初学者,您必须在新数据库上执行此操作。自动索引是延迟创建的,这意味着直到第一次访问才创建它。在第一次访问之前,您必须执行此配置。如果您在创建该属性后尝试更改它,它将不起作用。所以第一步是加载启用自动索引的数据库(节点或关系)。
val db = new GraphDatabaseFactory().newEmbedddedDatabaseBuilder("path/to/db").
setConfig(GraphDatabaseSettings.node_keys_indexable, "label,username").
setConfig(GraphDatabaseSettings.node_auto_indexing, "true").newGraphDatabase()
现在,在您做任何事情之前,您必须设置配置属性。您可以了解可能的属性和值here。为此,我们只需要再添加两行代码。
val autoIndex = db.index.forNodes("node_auto_index")
db.index.setConfiguration(autoIndex, "type", "fulltext")
仅此而已。您现在可以创建顶点和关系,并且将创建和填充自动索引。您可以使用以下代码使用任何Lucene query 查询它。
autoIndex.getAutoIndex.query("label:*caseinsensitive*")
【讨论】: