【发布时间】:2019-03-30 12:55:36
【问题描述】:
试图找出以下过滤器返回不同结果的原因。
根据docs,我应该能够将and or 条件与search in 函数一起使用
search.in(f, ‘a, b, c’) 在语义上等价于 f eq ‘a’ 或 f eq ‘b’ 或 f eq ‘c’,除了当列表 值很大。
但以下过滤器返回不同的结果。但为什么呢?
// Returns nothing
$count=true&$filter=companyGroupId eq 1595 and search.in(companyName, 'Sky Blue, Green Ice')
但如果我这样做
// Returns expected results
$count=true&$filter=companyGroupId eq 1595 and (companyName eq 'Sky Blue' or companyName eq 'Green Ice')
为什么结果对我来说如此不同,似乎它们应该是一样的。
我的 CompanyName 属性如下所示
[IsFilterable]
[IsSortable]
[IsFacetable]
public string CompanyName { get; set; }
【问题讨论】:
标签: odata azure-cognitive-search