Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用于多词自动建议模糊全文搜索的Neo4j Lucene查询语法_Neo4j_Lucene_Full Text Search_Fuzzy Search_Neo4j Apoc - Fatal编程技术网

用于多词自动建议模糊全文搜索的Neo4j 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

我正在尝试实现Lucene查询,用于多词自动建议全文搜索

例如,我希望能够在数据库中搜索
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

非常感谢你的回答!查询就像一个符咒!