Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sorting Elasticsearch(循环排序)_Sorting_Sql Order By_<img Src="//i.stack.imgur.com/RUiNP.png" Height="16" Width="18" Alt="" Class="sponsor Tag Img">elasticsearch - Fatal编程技术网 elasticsearch,Sorting,Sql Order By,elasticsearch" /> elasticsearch,Sorting,Sql Order By,elasticsearch" />

Sorting Elasticsearch(循环排序)

Sorting Elasticsearch(循环排序),sorting,sql-order-by,elasticsearch,Sorting,Sql Order By,elasticsearch,考虑以下产品列表,目前这些产品按名称排序,这会产生不公平的结果,可能导致以下输出(仅根据“幸运的”产品命名,给1家公司的结果排名靠前) 公司x产品1 公司x产品2 公司x产品3 y公司产品a z公司产品a y公司产品b z公司产品b y公司产品c z公司产品c 如何使用elasticsearch对其进行排序,使其以“循环”的顺序出现,也就是说,在重复之前选择每个唯一的项目一次。所以上面的列表是这样的: 公司x产品1 y公司产品a z公司产品a 公司x产品2 y公司产品b z公司产品b 公司x产品

考虑以下产品列表,目前这些产品按名称排序,这会产生不公平的结果,可能导致以下输出(仅根据“幸运的”产品命名,给1家公司的结果排名靠前)

公司x产品1
公司x产品2
公司x产品3
y公司产品a
z公司产品a
y公司产品b
z公司产品b
y公司产品c
z公司产品c

如何使用elasticsearch对其进行排序,使其以“循环”的顺序出现,也就是说,在重复之前选择每个唯一的项目一次。所以上面的列表是这样的:

公司x产品1
y公司产品a
z公司产品a
公司x产品2
y公司产品b
z公司产品b
公司x产品3
y公司产品c
z公司产品c


我发现这个问题是问LINQ的:

除非找到某种脚本解决方案,否则最好执行几个elasticsearch搜索并手动合并结果。您至少可以在单个请求中使用执行所有搜索。

此解决方案是否需要Elasticsearch?有基于脚本的排序,但这是我所能帮助的: