Lucene 获取solr中字段的最大值

Lucene 获取solr中字段的最大值,lucene,solr,Lucene,Solr,我想通过项目的视图计数来提高我的查询;为此,我想使用view\u count/max\u view\u count这样的工具,以便能够测量项目的视图计数与索引中的最大视图计数之间的关系。我知道,但是我怎样才能轻松获得最大的浏览量呢?如果有人能提供一个例子,那将非常有帮助……solr下没有任何聚合函数,您可能会从SQL中考虑它们。最简单的方法是采用两步流程: 通过带有排序的适当查询获取最大值 将其与max()函数一起使用 比如说: q=*:*&sort=view_count desc&

我想通过项目的视图计数来提高我的查询;为此,我想使用
view\u count/max\u view\u count
这样的工具,以便能够测量项目的视图计数与索引中的最大视图计数之间的关系。我知道,但是我怎样才能轻松获得最大的浏览量呢?如果有人能提供一个例子,那将非常有帮助……

solr下没有任何聚合函数,您可能会从SQL中考虑它们。最简单的方法是采用两步流程:

  • 通过带有排序的适当查询获取最大值
  • 将其与max()函数一起使用
比如说:

q=*:*&sort=view_count desc&rows=1&fl=view_count
…获取具有最大视图计数的项目,您将其记录在某处,然后

q=whatever&bq=div(view_count, max(the_max_view_count, 1))
请注意,max()函数没有执行聚合max;仅获取传入的最大视图计数的最大值或1(以避免被零除的错误)

如果您有一个多值字段(您无法对其进行排序),您也可以使用来获取最大值。无论采用哪种方式,您都可能希望这样做一次,而不是针对每个查询(例如,每晚午夜或数据集稳定后的任何情况)

您只需添加: &stats=true&stats.field=view\u count
您将看到该指定字段的小统计信息。更多文档

非常感谢您的回答。。。另外:我认为很难找到关于这方面的好文档,在apache上只有上面的链接和一个关于函数查询的主题。。。你能推荐其他东西吗?我们能在函数查询中使用从stats得到的max&min值吗?