Apache Solr 查询计算价格中位数

Apache Solr query calculate median of price

我正在使用 Apache Solr 在我的应用程序中实现搜索功能。我有一列定义了应用程序针对不同供应商提供的服务的价格。例如:有一个服务 XYZ。并且有很多供应商提供不同价格的XYZ服务。

    -------------------------------------------------------------
    Service Name          Provider Name        City        price
    ------------------------------------------------------------
    XYZ                   A                     ABC         
    XYZ                   B                     ABC         
    XYZ                   C                     DEF         
    ------------------------------------------------------------

现在我需要根据城市过滤记录来计算价格的中位数。假设用户在 ABC 城市搜索 XYZ 服务。它必须 return 前两行,中位数分别为 10 美元和 12 美元。我在 google 上搜索了 Solr 中的中值函数。但没有得到任何成果。

如有任何建议,我们将不胜感激。

Solr 不提供就绪功能。但是您可以尝试编写自定义函数查询。

下面的 link 可能会帮助您实现同样的目标。

http://www.solrtutorial.com/custom-solr-functionquery.html

如果您的索引未分发,Solr Stats 组件可以执行此操作。只需请求百分位数 50:https://cwiki.apache.org/confluence/display/solr/The+Stats+Component