作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
目前,我们正在使用 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。
问题:-
在 neo4j 中进行全文搜索。
在密码查询中嵌入 lucene 查询。
全文索引。
最佳答案
有一些basic string comparison operators在 Cypher 中可用,包括 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*")
...
关于jdbc - 如何在neo4j中实现全文搜索?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35717389/
我是一名优秀的程序员,十分优秀!