目前,我正在尝试Azure Search SDK。 Azure搜索具有强大的背景资源,可以使用lucene和bobobrowse,非常棒,并且具有开箱即用的两个框架的许多功能。
我唯一感到困惑的是获得数字小平面项目的最小值和最大值。根据意图,我不想使用interval parameter或value lists:
我的要求是使用计算的最小值和最大值显示价格构面。以下网站在其方面列表中有这样一个方面:
在我现有的桌面应用程序(.Net)中,我成功使用了BoboBrowse框架并实现了Custom-FacetHandler以获得所需的结果,如下图所示:
不要介意这些图片中的构面值。这些只是工具的长度,高度和其他特征值。
这是我为演示目的构建一个文档的方法。有一个动态生成的价格字段。由于azure搜索需要每个索引的强固定模式。我在索引过程中更新架构。这非常有效。
所以问题是如何通过azure搜索实现所需的功能?
在弹性搜索中,使用Aggregations可以解决这样的问题。 Azure搜索中是否存在此功能?
答案 0 :(得分:1)
$filter
参数支持lt
(小于)和gt
(大于)运算符。例如:$filter=price gt 0 and price lt < 100
示例代码:
string PriceFilter(double? fromPrice, double? toPrice)
{
var filter = "$filter=";
if(fromPrice.HasValue)
filter+="price gt " + fromPrice.Value.ToString()
+ (toPrice.HasValue ? " and " : "");
if(toPrice.HasValue)
filter+="price lt " + toPrice.Value.ToString();
return filter;
}