我有一个很大的文件索引。我有一个字段是“content_type”。此字段存储文件的基本类型(即pdf,图像,视频,文档,电子表格等)。
我正在搜索文件名(我的“标题”字段)。如何构造查询以使其仅返回每种类型的特定数量?
例如,假设我在标题中有1000个带有“work”字样的文件。我想在标题中搜索“work”,但我希望首先返回每个“content_type”的5个结果。 (假设每个特定content_type具有5个或更多项)。所以在我的搜索结果页面上,我可以说:
为“工作”找到了1,000件物品
然后我开始列出项目列表,每种类型5个。
任何人都可以帮我构建一个可以执行此操作的查询吗?我对Solr很新,但我希望能做到这一点。
答案 0 :(得分:1)
似乎基本上你想限制每个内容类型的结果并对其进行分组。
查看Solr field Collapsing and grouping feature
这将帮助您使用group.field = content_type
对每种内容类型分组结果
组中的结果数量可以由group.limit = 5限制
有关选项的完整列表,请参阅上面的链接。
您可以使用常规查询参数来搜索结果,即q = work
此功能仅适用于Solr 3.3版本。