Solr:查询并返回x个类型

时间:2011-10-15 06:41:25

标签: solr

我有一个很大的文件索引。我有一个字段是“content_type”。此字段存储文件的基本类型(即pdf,图像,视频,文档,电子表格等)。

我正在搜索文件名(我的“标题”字段)。如何构造查询以使其仅返回每种类型的特定数量?

例如,假设我在标题中有1000个带有“work”字样的文件。我想在标题中搜索“work”,但我希望首先返回每个“content_type”的5个结果。 (假设每个特定content_type具有5个或更多项)。所以在我的搜索结果页面上,我可以说:

为“工作”找到了1,000件物品

然后我开始列出项目列表,每种类型5个。

任何人都可以帮我构建一个可以执行此操作的查询吗?我对Solr很新,但我希望能做到这一点。

1 个答案:

答案 0 :(得分:1)

似乎基本上你想限制每个内容类型的结果并对其进行分组。

查看Solr field Collapsing and grouping feature

这将帮助您使用group.field = content_type
对每种内容类型分组结果 组中的结果数量可以由group.limit = 5限制 有关选项的完整列表,请参阅上面的链接。

您可以使用常规查询参数来搜索结果,即q = work

此功能仅适用于Solr 3.3版本。