如何在Solr流中使用基于分区的排名

问题描述 投票:0回答:1

如何在Solr Streaming中使用基于分区的排名。

表A(城市,街道名称),需要进行如下查询,排名为2,city1-streetname1,streetname2city2-streetname1,streetname2city3-streetname1,streetname2

是否有支持上述功能的功能?

提前感谢。

solr rank
1个回答
0
投票

您可以使用reducetop功能来实现所需的功能。这些函数对从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:以逗号分隔的键列表,用于对搜索结果进行分区。与并行功能一起用于跨工作节点并行操作。有关详细信息,请参见并行功能。

© www.soinside.com 2019 - 2024. All rights reserved.