Solr Range Facets 根据搜索查询动态修改范围

Solr Range Facets dynamically modifying the ranges based on the search query

这就是我想要做的。 我在价格字段上定义了一个方面。

1) 当查询到"wordA" 我希望分面从 0-1000 分为 5 个区间,因为我 "wordA" 的最高价格永远不会超过 1000

2) 当查询到"wordB" 我希望构面从 0-50 分为 5 个间隔,因为我的查询最高价格 "wordB" 永远不会超过 50.

所以基本上我希望构面范围动态变化,这样我就不会以 0-1000 的范围结束查询 "wordB",其中所有命中都位于第一个范围内。

如果 solr 不支持此功能,那么根据返回的结果修改范围将涉及大量查询 post 处理。

Solr 不支持,但您可以通过执行两个查询自己完成 - 第一个 get the stats (max, min) for the field, then submit a query for the facet ranges (intervals) 适合您的应用程序。