当前位置: 首页 > 知识库问答 >
问题:

Neo4j全文索引

隗高旻
2023-03-14

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

CREATE INDEX ON :user(username)
CREATE INDEX ON :user(aboutme)

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

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

共有1个答案

贝滨海
2023-03-14

如果您想要一个全文索引(您可以使用索引来匹配字符串的某些部分,而不是完整的、确切的字符串),那么新的cypher自动索引目前不支持这个索引(比如Create index on:user(username))。为此,您需要使用所谓的遗留索引。它们在暗中使用lucene,而且功能更强大,但我相信,一旦新索引支持了相同的功能,它们最终会消失。

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

 类似资料:
  • neo4j旧索引和自动索引与新标签基模式索引以及旧索引自动索引和新索引方法之间的差异部分回答了这个问题 我还不能评论他们,在这里写一个新的帖子。在我的数据库中,我有一个遗留索引“topic”和标签“topic”。 我知道: 模式匹配(n: Label)将扫描节点; b.模式START(n: Index)将搜索遗留索引 c.自动索引是一种遗留索引,应该给我与(b)相同的结果,但在我的情况下没有 d.

  • 回顾 在前面的章节(分页),我们已经加强了数据库查询,因此能够在页面上获取各种查询。 今天,我们会继续探讨数据库的话题,只是领域不同。所有存储内容的应用程序必须提供搜索能力。 许多其它类型的网站可能使用了谷歌、必应等索引所有的内容并且提供查询结果。这个对于大多数静态页面的网站,像论坛,是很好用。我们应用程序 microblog 的基本单元是用户短小的 blog,不是整个页面。我们希望搜索结果是动态

  • 问题内容: 我尝试在elasticsearchJava API上使用正则表达式运行全文搜索。我的过滤器是这样的: 但是它只与一个单词匹配,而没有短语匹配。我的意思是,例如: 如果soruce中有一个字符串,例如:“ ”,而当我的文本字符串如下:“ ”,“ ”,“ ” …时,它就起作用了。 但是,当我的realTimeTextIn字符串为“ ”时,全文搜索将不起作用。我搜索的单词不能超过一个。 我在

  • 主要内容:启用全文检索,创建全文索引,使用全文索引,删除全文索引从 2.4 版本开始,MongoDB 开始支持全文检索功能,全文检索就是对文本中的每个词建立索引,指明该词在文章中出现的次数和位置,当用户查询时,检索程序就根据事先建立的索引进行查找,并将查找的结果反馈给用户,整个过程类似于通过字典中的检索字表查字的过程。 目前,MongoDB 支持大约 15 种语言的全文索引,例如 danish、dutch、english、finnish、french、germ

  • 我尝试在弹性搜索java api上使用正则表达式运行全文搜索。我的过滤器是这样的: 但是它只与一个单词匹配,而不是与短语匹配。我的意思是,例如: 如果soruce中有一个字符串,如:“

  • 我正在使用: neo4j 2.0。1 我有一个具有属性名称的节点人员,我想用Lucene语法搜索该属性。我在我的存储库中使用findByNamelike方法,它非常适合像value*或*value或*etc这样的查询。 但是我需要这样的查询{A*TO D*}。我发现了一个弃用的方法findAllByQuery(名称,查询),用这个方法我可以实现我的需求。 > 我还注意到,如果我从cypher创建节