2016-04-29 118 views
0

我希望能够使用术语方面来生成统计信息,例如每个国家/地区的平均成本,但也能够在该平均值上指定查询子句。有没有办法在同一个solr查询请求中查询stat值?

在SQL方面这将是 SELECT country, avg(cost) GROUP BY country HAVING cost > 150

这里的挑战是如何定义的查询条件的上平均(成本)的统计函数(> 150)。

回答

0

而不是尝试使用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.preferIPv4Stack = TRUE)升级到Windows ENV性能
  4. 我改变solrconfig.xml中使用而不是管理型模式
  5. 更新schema.xml中把我的现有架构

  6. Solr的开始-cloud

  7. Solr的create_collection -c MyCore-d C:\ Solr的-6.0.0 \服务器\ Solr的\ MyCore \合作NF -shards 1
  8. 重新索引,我的数据

可能是一个更好的办法,但想到我会分享。

相关问题