如何在Solr Streaming中使用基于分区的排名。
表A(城市,街道名称),需要进行如下查询,排名为2,city1-streetname1,streetname2city2-streetname1,streetname2city3-streetname1,streetname2
是否有支持上述功能的功能?
提前感谢。
您可以使用reduce
和top
功能来实现所需的功能。这些函数对从search
返回的流起作用,并允许您创建与group
在常规查询中相同的功能。
reduce
Reduce函数包装内部流,并按公共字段对元组进行分组。
每个元组组通过可插拔的减少操作作为一个块进行操作。 Solr提供的分组操作实现了分布式分组功能。组操作还用作示例化操作,在构建自定义化操作时可以参考该操作。
Reduce函数依赖于基础流的排序顺序。因此,基础流的排序顺序必须与分组依据字段对齐。
top
top函数包装一个流表达式并重新排序元组。 top函数仅按新的排序顺序发出前N个元组。顶部函数对基础流进行重新排序,因此排序标准不必与基础流匹配。
search
流源不接受常规查询接受的所有参数-但具有其自己的允许参数子集:
[
search
参数[
collection
:(必须)正在搜索的集合。[
q
:(必填)要对Solr索引执行的查询。[
fl
:(必填)要返回的字段列表。[
sort
:(必填)排序标准。[
zkHost
:仅当在与本地流处理程序不同的zkHost
中找到正在搜索的集合时,才需要定义。
qt
:指定要使用的查询类型或请求处理程序。将此设置为/ export以处理大型结果集。默认值为/select
。
rows
:(必须与/select
处理程序一起使用)rows参数指定要返回的行数。只有/select
处理程序(默认设置)才需要此参数,因为/export
处理程序始终返回所有行。
partitionKeys
:以逗号分隔的键列表,用于对搜索结果进行分区。与并行功能一起用于跨工作节点并行操作。有关详细信息,请参见并行功能。