我已经索引了一个对象,该对象具有诸如[“ZZA-KL-2A”,“ZZA-KL-ZZB”]之类的字符串列表。我想搜索并获取以某个 3 字母代码开头的所有项目。所以我想检查列表中的每个项目并检查“StartsWith”之类的内容。
我可以从文档中看到,我们有 Match、MatchContained 之类的东西,但没有任何字符串项目列表的开始。
请注意,在标记问题之前,此问题与 C# 或 LINQ 中的普通字符串比较无关。
只需使用过滤器
var searchQuery = client.Search<MyContent>()
.Filter(x => x.OrderNumber.StartsWith("Find"));
您可以使用
Prefix
或 PrefixCaseInsensitive
:
按字符串开头匹配 (startsWith)
方法可让您根据字符串的开头进行匹配。这 以下搜索与标题为 Find 和 Find rock! 的博客文章相匹配,但是 不是 find、Finding 或 Hello Find。Prefix
var searchQuery = client.Search<BlogPost>().Filter(x => x.Title.Prefix("Find"));
使用
方法按 a 的开头进行匹配 字符串以不区分大小写的方式。以下搜索匹配博客 标题为 Find、Find rock! 和 Find 的帖子,但不是 Finding 或 Hello Find。PrefixCaseInsensitive
var searchQuery = client.Search<BlogPost>().Filter(x => x.Title.PrefixCaseInsensitive("Find"));