如何在Solr Streaming中使用“按分区排名”。
表A(城市,街道名称),需要进行如下查询,排名为2, city1-streetname1,streetname2 city2-streetname1,streetname2 city3-streetname1,streetname2
是否有支持上述功能的功能?
谢谢。
答案 0 :(得分:1)
您可以使用reduce
和top
函数来实现所需的功能。这些函数在search
返回的流上起作用,并允许您创建与group
在常规查询中相同的功能。
reduce
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
:用逗号分隔的键列表,用于对搜索结果进行分区。与并行功能一起用于跨工作节点并行操作。有关详细信息,请参见并行功能。