【问题标题】:Embedded automatic full text indexing completely removed from Neo4j as of 3.0.0?自 3.0.0 起,从 Neo4j 中完全删除了嵌入式自动全文索引?
【发布时间】:2016-03-25 00:00:30
【问题描述】:

我正在从 Neo4j 2.2.* 迁移到(仍然是预发布)3.0.0,突然之间似乎配置参数

node_auto_indexing=true
relationship_auto_indexing=true
node_keys_indexable=some_node_property
relationship_keys_indexable=some_rel_property

已经消失,不再可用。这很可悲,因为我需要全文索引(即模糊搜索查询和范围搜索),我从 2.0.0 开始就很高兴地使用它,并且天真地希望新的 Lucene 5.5 将通过 3.0.0 让我的生活变得更好。

此功能是否已完全删除? START 子句仍然在 Cypher 中,neo4j-shell 仍然具有允许操作“旧版”FT 索引的命令,所以我的问题是:

如何在不使用 Java 或其他外部编程语言的情况下填充我的 FT 索引?

  • 案例 1:我将一些“静态”数据导入到图中 很少更新(考虑字典),需要安排FTS 一次,并在数据集的偶尔更新时手动执行完整的重新索引;
  • 案例 2:具有特定属性的节点和关系 在创建或为具有特定名称的属性分配新值时自动索引,近乎实时,就像以前一样。

新的架构索引在 3.0.0 中很酷,并且实现了范围搜索,但是 a) 它们仅适用于节点的属性,没有关系,b) 它们不允许全文、模糊查询和 AFAIK 正则表达式匹配不使用索引。

感谢您的建议! WBR,安德烈

【问题讨论】:

    标签: neo4j


    【解决方案1】:

    安德烈,

    仅删除了默认配置参数而不是功能。

    您使用 FTS 索引(在 rels 上)的实际用例是什么?

    在 3.0 中,您仍然可以使用 start 子句,但使用存储过程可以将节点和关系显式添加到索引中。您可以使用类似的程序来更有效地查询索引,例如通过传入开始和结束节点。

    请参阅(WIP):https://github.com/jexp/neo4j-apoc-procedures#manual-indexes

    【讨论】:

    • 亲爱的迈克尔,感谢您的回答。所以我想到我可以显式地使用存储过程来填充我的 FT 索引,好的。但问题是,上面的配置参数是否应该在 3.0 的 neo4j.conf 中工作?
    • 还有一个问题。我怎么知道(不阅读 Java 源代码)我可以从过程调用中获得什么?我是否应该仅仅依靠公布的程序描述,它最终告诉我,YIELDed 值的名称到底是什么,我不会期望有什么不同?
    猜你喜欢
    • 1970-01-01
    • 2015-10-13
    • 2018-01-22
    • 1970-01-01
    • 1970-01-01
    • 2013-12-04
    • 2013-08-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多