Jdbc 如何在neo4j中实现全文搜索?
目前,我们正在使用Neo4JJDBC驱动程序构建neo4j项目。我们正在执行所有操作,如使用属性创建节点、删除节点以及使用cypher查询创建两个节点之间的关系。 示例代码如下所示Jdbc 如何在neo4j中实现全文搜索?,jdbc,neo4j,lucene,Jdbc,Neo4j,Lucene,目前,我们正在使用Neo4JJDBC驱动程序构建neo4j项目。我们正在执行所有操作,如使用属性创建节点、删除节点以及使用cypher查询创建两个节点之间的关系。 示例代码如下所示 Class.forName("org.neo4j.jdbc.Driver"); // Connect Connection con = DriverManager.getConnection("jdbc:neo4j://localhost:7474/"); // Querying try(Statement s
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"));
}
}
我们使用cypher查询子句执行所有基本搜索。
我研究了neo4j中的索引,试图理解这一点,但仍然没有成功理解全文索引的确切含义
现在我们必须在我们的项目中应用全文搜索,但是我们不知道如何使用Lucene查询和Cypher查询来应用全文搜索。我们在neo4j中使用Lucene查询得到的示例代码是通过使用嵌入式数据库或RESTAPI获得的
问题:-
以
开头,以
结尾,以及包含
例如:
MATCH (n.User) WHERE n.name STARTS WITH "Bob" RETURN n;
START user=node:node_auto_index("name:Bob*")
...
要获得更强大的全文索引,您需要使用Neo4j所指的。有关概述,请参阅
启用旧版自动索引后,可以在Cypher中的START
子句中引用它,并传递任何lucene查询。例如:
MATCH (n.User) WHERE n.name STARTS WITH "Bob" RETURN n;
START user=node:node_auto_index("name:Bob*")
...
这会对你有所帮助。我已经阅读了这个问题。它对我没有帮助。旧版自动索引听起来像是不推荐使用的东西,对吗?为了帮助消除命名混乱,旧版索引现在被称为显式索引,最新版本的Neo4j添加了一些使用它们的过程:请参阅