【问题标题】:Neo4j Embedded Fulltext Automatic Node IndexNeo4j 嵌入式全文自动节点索引
【发布时间】:2013-05-17 19:07:32
【问题描述】:

在运行 Neo4j 嵌入式时,默认配置没有将自动节点索引设置为全文(这意味着所有 Lucene 查询都区分大小写)。如何将自动索引配置为全文?

【问题讨论】:

    标签: neo4j


    【解决方案1】:

    对于初学者,您必须在新数据库上执行此操作。自动索引是延迟创建的,这意味着直到第一次访问才创建它。在第一次访问之前,您必须执行此配置。如果您在创建该属性后尝试更改它,它将不起作用。所以第一步是加载启用自动索引的数据库(节点或关系)。

    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*")
    

    【讨论】:

    • 在 Neo4j 2.0 中,您将能够在标签上创建新索引,这将赶上异步,即时。
    • 但是如何在 Neo4j 2.* 中提供自定义 Lucene 分析器?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-10-13
    • 1970-01-01
    • 2013-05-25
    • 1970-01-01
    • 2015-08-20
    • 1970-01-01
    • 2012-09-26
    相关资源
    最近更新 更多