gpt4 book ai didi

jdbc - 如何在neo4j中实现全文搜索?

转载 作者:行者123 更新时间:2023-12-01 13:46:25 27 4
gpt4 key购买 nike

目前,我们正在使用 neo4j-jdbc 驱动程序构建我们的 neo4j 项目。我们正在执行所有操作,例如创建具有属性的节点、删除节点以及使用密码查询在两个节点之间创建关系。示例代码是这样的

Class.forName("org.neo4j.jdbc.Driver");

// Connect
Connection con = DriverManager.getConnection("jdbc:neo4j://localhost:7474/");

// Querying
try(Statement stmt = con.createStatement())
{
ResultSet rs = stmt.executeQuery("MATCH (n:User) RETURN n.name");
while(rs.next())
{
System.out.println(rs.getString("n.name"));
}
}

我们正在使用密码查询子句执行所有基本搜索。我研究了 neo4j 中的索引,也试图理解这一点,但仍然没有成功理解全文索引的确切含义。

现在我们必须在我们的项目中应用全文搜索,但我们不知道如何使用 Lucene 查询 和 Cypher 查询来应用全文搜索。我们在 neo4j 中使用 Lucene 查询的示例代码是通过使用嵌入式数据库或 rest API。

问题:-

  1. 在 neo4j 中进行全文搜索。

  2. 在密码查询中嵌入 lucene 查询。

  3. 全文索引。

最佳答案

有一些basic string comparison operators在 Cypher 中可用,包括 STARTS WITHENDS WITHCONTAINS

例如:

MATCH (n.User) WHERE n.name STARTS WITH "Bob" RETURN n;

要获得更强大的全文索引,您需要使用 Neo4j 所称的 Legacy Indexes。 .参见 this blog post概述。

一旦您启用了旧版自动索引,您就可以在 Cypher 中的 START 子句中引用它来传递任何 lucene 查询。例如:

START user=node:node_auto_index("name:Bob*")
...

关于jdbc - 如何在neo4j中实现全文搜索?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35717389/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com