Neo4jClient C#QueryIndex搜索节点的全部或部分文本

Neo4jClient C#QueryIndex搜索节点的全部或部分文本,c#,neo4j,lucene,neo4jclient,C#,Neo4j,Lucene,Neo4jclient,我在neo4j中构建了一个图形数据库,需要能够在索引引用的节点上搜索全文或部分文本。下面是一个示例节点,我可以在其中使用名为Game的索引进行搜索: Node[1]{Type:"Game",Name:"Super Mario Kart",Description:"First Mario Kart Game in the series",Id:"a3b11cd8-b179-4775-a69e-ddcdd7b8369e"} 下面是我正在使用的Cyper查询: START game=node:Gam

我在neo4j中构建了一个图形数据库,需要能够在索引引用的节点上搜索全文或部分文本。下面是一个示例节点,我可以在其中使用名为Game的索引进行搜索:

Node[1]{Type:"Game",Name:"Super Mario Kart",Description:"First Mario Kart Game in the series",Id:"a3b11cd8-b179-4775-a69e-ddcdd7b8369e"}
下面是我正在使用的Cyper查询:

START game=node:Game('Name:*Super Mario*') RETURN game;
但是,此查询不返回任何内容。如果我这样修改查询,它将返回,但我希望能够搜索Name属性中的所有文本,无论文本中是否有空格:

START game=node:Game('Name:*Super*') RETURN game;
下面是我查询索引的C#代码:

Node<Game> game = client.QueryIndex<Game>("Game", IndexFor.Node, "Name:*" + name + "*").First();

我是Cypher新手,主要是寻找与SQL的LIKE子句等价的语句。一旦我在Neo4j的控制台中正确构建并运行了查询,在Neo4jClient中工作就应该很简单了。请告诉我你有什么建议。谢谢。

事实证明,搜索所有文本就这么简单:

START game=node:Game('Name: "Mario Kart"') RETURN game;

这根本不需要“*”字符,并返回所有名为“马里奥卡丁车”的游戏。我希望这能帮助任何有同样问题的人。

这不是密码问题,而是与lucene索引相关的问题。你必须阅读全文索引docu:我创建了一个lucene索引,并按照下面的回答调整了我的查询。谢谢你的评论。
START game=node:Game('Name: "Mario Kart"') RETURN game;