用于多词自动建议模糊全文搜索的Neo4j Lucene查询语法
我正在尝试实现Lucene查询,用于多词自动建议全文搜索 例如,我希望能够在数据库中搜索用于多词自动建议模糊全文搜索的Neo4j Lucene查询语法,neo4j,lucene,full-text-search,fuzzy-search,neo4j-apoc,Neo4j,Lucene,Full Text Search,Fuzzy Search,Neo4j Apoc,我正在尝试实现Lucene查询,用于多词自动建议全文搜索 例如,我希望能够在数据库中搜索Arnold Schwarzenegger 现在我可以用一个词进行模糊搜索: Name.primaryName:Shwarzengger~ 返回: Arnold Schwarzenegger Katherine Schwarzenegger Patrick Schwarzenegger Christian Schwarzenegger Aurelia Schwarzenegger Patrick M. Kn
Arnold Schwarzenegger
现在我可以用一个词进行模糊搜索:
Name.primaryName:Shwarzengger~
返回:
Arnold Schwarzenegger
Katherine Schwarzenegger
Patrick Schwarzenegger
Christian Schwarzenegger
Aurelia Schwarzenegger
Patrick M. Knapp Schwarzenegger
Brian Schwarzenegger
Christina Schwarzenegger
但是对于一个多词术语,如何做同样的事情呢
例如,以下查询:
Name.primaryName:arn Shwarzengger~
无法处理以下错误:
Neo.ClientError.Procedure.ProcedureCallFailed:调用失败
程序apoc.index.nodes
:由以下原因引起:
java.lang.NullPointerException:字段不能为null
如何正确构造多词搜索词?您可以使用Luchene语言进行搜索: 调用apoc.index.nodes('Company','name:Ne*和employees:Ma*')) 例如,中断初始查询并构造模糊查询:
WITH "arnold schwarzenegger" AS queryString
WITH split(queryString, " ") AS terms,
"primaryName" AS key
WITH REDUCE(
acc = "",
i IN range(0, size(terms) - 2) |
acc + key + ":" + terms[i] + " OR "
) + key + ":" + terms[size(terms) - 1]
AS query
CALL apoc.index.nodes('Node', query) YIELD node
RETURN node
非常感谢你的回答!查询就像一个符咒!