目前,我们正在使用neo4j-jdbc驱动程序构建我们的neo4j项目。我们正在执行所有操作,例如使用cypher查询创建具有属性的节点,删除节点以及在两个节点之间创建关系。 示例代码是这样的
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 Queries 与Cypher Queries申请全文搜索。我们在neo4j中使用lucene查询得到的示例代码是使用嵌入式数据库或rest api。
问题: -
neo4j中的全文搜索。
在密码查询中嵌入lucene查询。
全文索引。
答案 0 :(得分:3)
Cypher中有一些basic string comparison operators,包括STARTS WITH
,ENDS WITH
和CONTAINS
。
例如:
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*")
...