Apache Solr查询计算价格中位数

时间:2015-10-21 07:07:52

标签: java apache solr solr4

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

    -------------------------------------------------------------
    Service Name          Provider Name        City        price
    ------------------------------------------------------------
    XYZ                   A                     ABC         $10
    XYZ                   B                     ABC         $12
    XYZ                   C                     DEF         $14
    ------------------------------------------------------------

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

任何建议都将受到赞赏。

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

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

以下是可以帮助您实现相同目标的链接。

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