【问题标题】:Neo4j full text indexNeo4j 全文索引
【发布时间】:2015-01-13 07:54:10
【问题描述】:

我正在使用 node.js 连接到 neo4j 数据库。每当我必须为节点设置索引时,我都会通过 Neo4j 浏览器 (localhost:7474) 手动完成。

CREATE INDEX ON :user(username)

首先要明确,这是自动索引吗?对 :user 的任何更改或添加都会自动维护吗?如果我错了,请告诉我。

如果是这样,全文索引如何在 neo4j 上工作?它是相同的过程并且neo自动管理吗?例如以下是否创建全文索引?还是我们需要做点别的?

CREATE INDEX ON :user(aboutme)

我构建了自己的 nodejs 适配器来连接到 neo4j,因此我目前只能访问密码查询。要创建索引,我只能访问 cypher 或浏览器 (7474)。那么创建自动全文索引的正确方法是什么,最好是从浏览器本身?以及如何使用密码访问它(或者我必须访问它吗?neo 会自动找出要使用的索引吗?)。在线文档和教程对于初学者来说有点复杂:/ .

(我希望能够在 :user(aboutme) 属性上进行文本搜索)

【问题讨论】:

  • 我写了一篇关于使用 Neo4j 进行全文索引的博文,请参阅 blog.armbruster-it.de/2014/10/…
  • 是的,这些索引是自动的。他们将在运行语句后在后台索引现有数据,并且索引将在每个相关的写入操作时更新。

标签: neo4j cypher


【解决方案1】:

如果您想要一个全文索引(您可以使用该索引来匹配字符串的某些部分,而不是完整的、精确的字符串),新的密码自动索引目前不支持该索引(例如 CREATE INDEX ON :user(username) )。为此,您需要使用所谓的遗留索引。这些在幕后使用 lucene 并且功能更强大,但我相信一旦新索引支持相同的功能,它们最终会消失。

对于全文搜索,我个人更喜欢使用 elasticsearch 之类的东西,因为它更易于设置和使用。

【讨论】:

  • neo 2.3 计划使用密码进行全文搜索
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多