有没有一种方法可以在同一个solr查询请求中查询stat值



我希望能够使用术语facets来存储和生成统计数据,比如每个国家的平均成本,但也能够根据平均值指定查询子句。

用sql术语来说SELECT country, avg(cost) GROUP BY country HAVING cost > 150

这里的挑战是如何在avg(成本)的stat函数上定义查询条件(>150)。

我没有尝试使用5.x找到解决方案,而是查看了6.0版中的SQL RequestHandler。这需要我升级到6.0,并在Cloud模式下运行。

这个示例请求解决了我的问题:

 http://localhost:8983/solr/MyCore/sql?wt=json&stmt=select country, avg(cost) from MyCore where region = 'east' group by country having avg(cost) > 150

从单一核心到基于云的升级步骤。

  1. 我把6.0安装到一个新目录中
  2. 我安装了最新的java 8
  3. 添加了Java_home(设置为Java安装目录)和_Java_options(设置为-Djava.net.prpreferPv4Stack=true)到windows环境属性
  4. 我将SolrConfig.xml更改为使用,而不是托管架构
  5. 已将schema.xml更新为我现有的模式

  6. Solr启动-云

  7. Solr create_collection-c MyCore-d c:\Solr-6.0.0\server\Solr\MyCore\conf-shars 1
  8. 重新索引了我的数据

也许是更好的方式,但我想我会分享。

最新更新