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

本文关键字:文本 全部 QueryIndex 搜索 节点 Neo4jClient | 更新日期: 2023-09-27 17:50:12

我在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();

这是游戏实体类:

public class Game
{
    public string Name { get; set; }
    public string Description { get; set; }
}

我是新来的Cypher,我主要是寻找相当于SQL的LIKE子句。一旦我在Neo4j的控制台中正确构建并运行了查询,那么在Neo4jClient中工作应该是微不足道的。如果你有什么建议,请告诉我。谢谢。

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

在所有文本上进行搜索就像这样简单:

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

这根本不需要"*"字符,并返回所有名称为"马里奥赛车"的游戏。我希望这对有同样问题的人有所帮助。