Neo4j:使用Cypher的Lucene短语匹配(模糊)

时间:2014-08-28 16:46:45

标签: lucene neo4j cypher

In Lucene, a Phrase是一组由双引号括起来的单词,例如“hello dolly”。 我希望能够做这个Lucene模糊查询的CYPHER等价物:

"hello dolly"~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 ---->不起作用(什么也没找到)

2 个答案:

答案 0 :(得分:1)

试试这个:

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

答案 1 :(得分:1)

这是一个古老的问题,但这可能有助于其他人:

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