2

我正在使用以下类映射为 Neo4j 节点:

public class Item
{
    public long Id { get; set; }
    public string Name { get; set; }
    public string[] Synonyms { get; set; }
}

这个想法是数据库搜索应该匹配Name属性,或者Synonyms数组中的任何项目:

以下搜索执行区分大小写的匹配(为简洁起见已剪辑):

START (...) WHERE item.Name = "searchTerm") OR ("searchTerm" IN item.Synonyms!) RETURN item;

我正在尝试执行不区分大小写的匹配,但仅此而已:

START (...) WHERE item.Name =~ '(?i)searchTerm') OR ("searchTerm" IN item.Synonyms!) RETURN item;

是否可以对Synonyms字符串数组执行不区分大小写的匹配?

4

2 回答 2

4

我求助于这个,这似乎可以解决问题:

WHERE item.Name =~ '(?i)searchTerm') OR (ANY(s IN item.Synonyms! WHERE s =~ '(?i)searchTerm')
于 2013-02-06T10:11:30.757 回答
2

您可以使用以下str()功能:

WHERE str(item.Synonyms) =~ '(?).*whatever.*'
于 2013-02-05T13:13:28.017 回答