lucene - Neo4j:使用 Cypher 进行 Lucene 短语匹配(模糊)

标签 lucene neo4j cypher

In Lucene, a Phrase是一组用双引号括起来的单词,例如“hello dolly”。 我希望能够执行与 Lucene 模糊查询相同的 CYPHER 操作:

“你好多莉”~0.1

这会找到我的“hello dolly”节点:

START n=node:node_auto_index("name:\"hello dolly\"~0.1") RETURN n

这不会:

START n=node:node_auto_index("name:\"hella dolly\"~0.1") RETURN n

通过空格将搜索短语拆分为单个术语确实有效:

START n=node:node_auto_index("name:hella~0.1 AND name:dolly~0.1") return n

但是,我的数据可能包含像 "HelloDolly" 这样的字符串,我希望它与我的 "hello dolly" 节点成功匹配。

编辑:

其他一些尝试:

START n=node:node_auto_index("name:hello\\dolly") RETURN n ----> 确实有效(找到我的“hello dolly”节点,但不模糊

START n=node:node_auto_index("name:hello\\dolly~0.00001") RETURN n ----> 不起作用(什么也没找到)

最佳答案

试试这个:

START n=node:node_auto_index("name:hella\\ dolly~0.1") RETURN n

关于lucene - Neo4j:使用 Cypher 进行 Lucene 短语匹配(模糊),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25553998/

相关文章:

grails - 从Grails应用程序加载Neo4j时出错

regex - Neo4j 2.0 通配符搜索标签名称

database - 查找 neo4j 密码查询中所有节点的根节点

java - 如何扩展WhitespaceTokenizer?

lucene - 使用 Hibernate Search (Lucene),我需要能够搜索带或不带破折号的代码

amazon-web-services - Neo4j 无法在 AWS 实例中启动

neo4j 创建具有多个对象的节点

neo4j - 是否可以向 cypher 添加新功能?

mysql - 在java中实现搜索过滤器

java - 卢塞恩 2.9.2 : How to show results in random order?