Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/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
Search 如何获得Solr索引中每种类型的前X个结果_Search_Solr_Faceted Search - Fatal编程技术网

Search 如何获得Solr索引中每种类型的前X个结果

Search 如何获得Solr索引中每种类型的前X个结果,search,solr,faceted-search,Search,Solr,Faceted Search,我有一个带有类型字段的Solr索引,该字段可以有不同的值,如“Movie”、“Book”等。给定搜索词,如何查找索引中所有类型的前X个文档 例如,如果我搜索“猫”,我会寻找关于“猫”的前X本书、前X部电影等等 我想看看这是否可以在一个查询中完成,而不是对每种类型进行多个查询。(这些类型是由使用Solr的应用程序预定义的,总共大约六种)。您应该在Solr中检查字段折叠/结果分组。这是官方文件 在您的情况下,查询可能如下所示 http://localhost:8983/solr/your_index

我有一个带有
类型
字段的Solr索引,该字段可以有不同的值,如“Movie”、“Book”等。给定搜索词,如何查找索引中所有类型的前X个文档

例如,如果我搜索“猫”,我会寻找关于“猫”的前X本书、前X部电影等等


我想看看这是否可以在一个查询中完成,而不是对每种类型进行多个查询。(这些类型是由使用Solr的应用程序预定义的,总共大约六种)。

您应该在Solr中检查字段折叠/结果分组。这是官方文件

在您的情况下,查询可能如下所示

http://localhost:8983/solr/your_index/select?wt=json&indent=true&fl=your_field1,your_field2&q=your query here&group=true&group.field=type

默认情况下,组内的结果按查询分数排序。请参阅上述文档中请求参数下的
排序
分组.排序

为什么被否决?不知道你为什么被否决。这是一个合理的问题。我尝试了上面的方法,但没有产生任何不同的结果(也就是说,使用不同的文档组)。经过仔细研究,我认为我们的应用程序使用的Solr版本太旧了,没有这个功能(1.4,不是我的决定!)。在我所拥有的1.4文档或任何涵盖1.4的书籍中,我都找不到对
组的任何引用。无论如何谢谢你!您可以应用修补程序-这将确保您不必升级solr-如何应用修补程序: