Solr:如何对两个不同的字段进行分组?

2023-11-23

我的架构是这样的:

product_id  
category_id

类别包含产品。
在 solr 3.6 中,我根据category_id 对结果进行分组,效果很好。

我刚刚添加了一个新字段:

group_id

一组包含尺寸或颜色不同的产品。
示例:蓝色、红色和黄色的鞋子是 3 种不同的产品,并且具有相同的 group_id。

除了字段category_id 上的结果分组之外,我希望在结果中只有一个group_id 的产品,假设group_id 可以为空(对于不属于组的产品)。

以鞋子为例,这意味着对于请求“鞋子”,结果中应该只有 3 个产品中的一个。

我想对 group_id 进行第二次结果分组,但我似乎不可能这样做。

任何想法?

编辑:现在,我在 php 中处理结果以删除结果中已有 group_id 的文档。我让这个主题保持开放状态,以防有人发现如何在两个字段上分组


如果您的目标是根据多个“分组依据”字段获取分组计数,则可以使用枢轴刻面为了达成这个。

&facet.pivot=category_id,group_id

Solr 将为您返回分组结果计数的层次结构,位于搜索结果页面之后,位于facet_pivot元素。

http://wiki.apache.org/solr/SimpleFacetParameters?highlight=%28pivot%29#Pivot_.28ie_Decision_Tree.29_Faceting

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Solr:如何对两个不同的字段进行分组? 的相关文章

  • solr 模式中的日期时间字段

    我正在使用 Solr 在我的数据库上进行搜索 并且我需要从 mysql 数据库获取一个具有 日期时间 数据类型的字段 因此我设置了选择查询以在 dataconfig xml 中获取此字段 并为此添加了字段名称schema xml 中的字段如
  • Solr 复制和 Solr 云有什么区别?

    我支持 Rails 项目 其中包含 Rails 应用程序和 Solr 的附加实例 我的环境 rails 3 2 1 ruby 2 1 2 sunspot 2 1 0 Solr 4 1 6 Problem 云提供商不稳定 我不能使用其他云提供
  • 对 SolrConfig.xml 文件的更新未得到反映

    我在 SolrConfig xml 文件中添加了一个新的请求处理程序 但是每当我尝试使用新的处理程序时 我都会收到带有 未知处理程序 错误的 404 修改SolrConfig xml文件时是否还需要修改其他文件 Thanks 您需要重新启动
  • SOLR 权限/根据访问权限过滤结果

    例如 我有文档 A B C 用户 1 必须只能看到文档 A B 用户 2 必须只能看到文档 C 是否可以在 SOLR 中执行此操作而不通过元数据进行过滤 如果我使用元数据过滤器 每次访问权限发生变化时 我都必须重新索引 2012 年 2 月
  • Solr距离过滤

    我正在尝试使用 Solr 进行距离范围搜索 我知道在5公里范围内进行搜索过滤很容易 q fq geofilt pt 45 15 93 85 sfield store d 5 我所追求的是如果我正在寻找一系列的说法 如何做同样的事情5至10公
  • LUCENE:搜索与正则表达式匹配的术语

    我需要搜索 lucene 索引中的任何术语 匹配特定的正则表达式 我知道我可以使用TermsComponent在solr中 如果配置如下
  • solr索引嵌套文档

    solr支持嵌套文档吗 有没有更好的方法来实现这种文档
  • 本地/离线网站“站点”的全文搜索[重复]

    这个问题在这里已经有答案了 可能的重复 通过 javascript 对 CD Rom 上的静态 HTML 文件进行全文搜索 https stackoverflow com questions 1357173 full text search
  • SOLR - 过滤器查询中的正则表达式

    我想在 fq 中实现 Regex 但以前从未实现过 我的属性中有以下值 字段类型为 小写 Prop company1 city1 state1 country1 高级分析化学家 芝加哥 我想根据正则表达式过滤结果 正则表达式应该与上面的内容
  • 复杂的 SOLR 查询,包括 NOT 和 OR

    我对 SOLR 搜索有一些相当复杂的要求 我需要针对标记内容的数据库执行这些搜索 我需要首先过滤数据库以获取与我的过滤器标签匹配的结果 任何具有黑名单中的标签的结果都应被删除 除非它们也包含白名单中的标签 假设我想检索所有标记为 森林 或
  • ckan本地安装,solr JSP支持未配置500错误

    我正在尝试使用 Ubuntu 14 04 LTS 在本地计算机上安装 CKAN 我按照从找到的源安装的说明进行操作here http docs ckan org en latest maintaining installing instal
  • 将solr 1.4索引升级到solr 3.3?

    我有一个使用 apache solr 1 4 构建的现有索引 我想在 3 3 版本中使用这个现有索引 正如您所知 索引格式在 3 x 之后发生了变化 那么如何才能做到这一点呢 我已经使用 Luke 将现有索引 即 1 4 版本 导出为 XM
  • 在solr中获取pdf搜索结果的页码

    我正在构建一个 Web 应用程序 用户可以在其中搜索 pdf 文档并使用 pdf js 查看它们 我想显示搜索结果 其中包含找到搜索词的段落的简短片段以及用于在右侧页面打开文档的链接 所以我需要的是每个搜索结果的页码和简短的文本片段 我正在
  • Solr 您的意思是(拼写检查组件)

    我在我的应用程序中使用 solr 并集成了拼写检查组件 但我遇到了一些问题 第一的 当我输入一个用空格分隔的术语时 他们会给我每个术语的更正 Eg 水 gt 什么术语 但事实是watters 第二 当我输入一些带有错误术语的短语时 尽管其他
  • Solr:在带有空格的字符串上使用通配符

    我的问题与这里讨论的问题基本相同 带空格的 Solr 通配符查询 https stackoverflow com questions 10023133 solr wildcard query with whitespace 但这个问题没有得
  • 如何将 Solarium 配置为使用 POST 而不是 GET 请求

    我面临的问题是我们发送到 solr jetty 的 uri 变得很长 超过 9k 字节 超出了 jetty 的默认限制 解决方案是从 GET 请求切换到 POST 请求 因为我们不想增加 jetty 可以接受的 requestHeaderS
  • Solr 索引时间提升 VS 查询时间提升?

    问题 1 我们可以只进行查询时间提升 使用 dismax 而不在索引时间提及提升值吗 问题 2 与查询时间提升相比 索引时间提升有何优点 缺点 反之亦然 查询时间和索引时间提升 在索引时 您可以选择提升特定文档 整个文档或仅一个字段 它作为
  • 由于未定义符号,PECL solr 未加载:curl_easy_getinfo

    我正在尝试加载 PECL solr 扩展 我尝试使用 pecl install solr 并下载并使用 phpize configure make 来安装它 在这两种情况下 扩展安装时都没有错误 但在 apache 重新启动后 或在命令行上
  • 如何禁用 solr 管理页面

    对于生产来说 拥有一个甚至不要求登录凭据的 solr 管理员感觉不安全 如何禁用默认的 solr 管理页面 我只是希望我的 web 应用程序使用 Solr 进行搜索词索引 我强烈建议保留管理页面用于调试目的 它在很多情况下拯救了我 有多种方
  • 在 MongoDB 和 Apache Solr 之间同步数据的简单方法

    我最近开始使用 MongoDB 和 Apache Solr 我使用 MongoDB 作为数据存储 并且希望 Apache Solr 为我的数据创建索引 以实现应用程序中的搜索功能 经过一些研究 我发现 基本上有两种方法可以在 MongoDB

随机推荐

  • 使用 Powershell 查找文件中的多行模式

    如何使用 Powershell 在文件中查找多行模式 例如 XML 节点的内容 也就是说 如果我正在寻找 绿色 这个词deviceDescription节点 但 XML 节点文本可能跨越多行 这是行不通的 dir r i xml selec
  • 单击动态链接时深层链接不包含有效的必需参数

    我已将动态链接设置为文档 但单击链接时它显示 Deep Link does not contain valid required params URL params cpb 1 cpt cpit fpb CJsFEPcCGgVlbi1VUw
  • Azure AD B2C 向新用户发送邀请电子邮件

    通过使用新的 Azure AD B2C 服务预览版 我希望能够向用户发送邀请电子邮件以完成 SaaS 应用程序的注册 我们的每个客户都将管理自己的用户 我希望他们能够向新用户生成邀请电子邮件 以访问我们的 SaaS 应用程序 然后该用户将完
  • 字符串形式的月份名称

    我试图以字符串形式返回月份名称 例如 五月 九月 十一月 I tried int month c get Calendar MONTH 但是 这会返回整数 分别为 5 9 11 如何获取月份名称 用这个 Calendar cal Calen
  • Azure devops 报告生成器任务找不到coverage.cobertura.xml 文件

    正如标题所示 我正在尝试让代码覆盖率在 Azure Devops Pipeline 上运行 这是管道 trigger master pool vmImage windows latest variables solution sln bui
  • 我可以运行受密码保护的只读 git 服务器吗?

    我需要一个应用程序能够从 git 存储库获取但不能推送到它 所以 这是只读部分 这可以通过 git daemon 轻松完成 最重要的是 我需要访问受密码保护的所述存储库 包括读取它 因此 在进行任何获取之前 应用程序需要进行身份验证 可行吗
  • 为什么 null 是一个对象,null 和 undefined 有什么区别?

    Why is null被认为是object在 JavaScript 中 正在检查 if object null Do something 与 if object Do something 并且 有什么区别null and undefined
  • 使用需要不记名令牌的 API 在 Python 中进行 API 调用

    寻求有关将 JSON API 调用集成到 Python 程序中的帮助 我希望将以下 API 集成到 Python py 程序中 以允许调用它并打印响应 API 指南指出必须生成不记名令牌才能允许调用 API 我已成功完成此操作 但是 我不确
  • 有没有办法用 simple_form for Rails 提交 ajax/json 请求

    使用标准 Rails form for 我能够通过 select 和 collection select 帮助器传递 ajax 请求 如下所示 我似乎不知道如何做到这一点简单的形式 弄清楚了 你只需要添加这个 input html gt d
  • 使用 controlTransfer 方法设置奇偶校验

    有人知道如何在 Android 中设置与 controlTransfer 的奇偶校验吗 我在任何地方都找不到此方法参数的解释 只是参考文献中的一些通用信息 我发现的一个例子说 conn controlTransfer 0x40 0x04 0
  • 浮点文字与浮点变量的奇怪编译器行为

    我注意到 C 编译器的浮点舍入 截断有一个有趣的行为 也就是说 当浮点文字超出保证的可表示范围 7 位十进制数字 时 a 将浮点结果显式转换为浮点 语义上不必要的操作 和 b 将中间计算结果存储在局部变量中都会更改输出 一个例子 using
  • Heroku 和 GitHub:“无法检索项目,内部服务器错误”

    这篇文章涉及一个快速变化的事件 我只想连接到我的 GitHub 帐户 当我执行此操作时 我会在页面右上角收到以下红色小弹出窗口的错误消息 无法检索项目 内部服务器错误 截至 2022 年 5 月 25 日 19 52 世界标准时间 GitH
  • 比较两个列表的更新、删除和添加

    简单的问题 我有一个新列表和一个旧列表 在Java中是否有一个标准的方法 库允许我比较这两个列表并确定哪些项目已更新 删除或全新 例如 我最终应该得到三个列表 已删除的项目 旧的项目但不是新的项目 更新的项目 两者中的项目 新项目 新的项目
  • 如何使用 Dapper-dot-net 从单个 SP 映射多个记录

    我想在执行单个存储过程将返回 50 个多个单独的选择的情况下使用 Dapper 每个结果集都不会很宽 最多可能有 20 或 30 列 下面的代码来自 Dapper 测试 我想知道这个示例是否是一个很好的原型 谢谢你 斯蒂芬 public v
  • PHP Curl 下载前检查文件是否存在

    我正在编写一个 PHP 程序 从后端下载 pdf 并保存到本地驱动器 现在如何在下载前检查文件是否存在 目前我正在使用curl 参见下面的代码 来检查和下载 但它仍然下载大小为1KB的文件 url http wedsite test pdf
  • 当我们声明静态变量时,编译器实际上做了什么?

    我想知道幕后到底发生了什么 编译器如何处理静态变量 与自动变量不同 静态变量的值即使在块结束后仍然存在 但是编译器实际上如何处理这个问题 与堆栈上的局部变量不同 静态变量保存在特殊的数据段中 静态变量转到哪个段取决于它们是否初始化为 0 0
  • 跨平台和语言(反)序列化

    我正在寻找一种以最方便的方式序列化一堆 C 结构的方法 以便序列化可以跨 C 和 Java 至少 以及跨 32 位 64 位 大 小端平台移植 要序列化的结构仅包含数据 即它们是没有状态或行为的纯数据对象 我们的想法是 我们将结构序列化为一
  • 用于匹配化学式的严格正则表达式

    在使用 Perl 处理大型文本化学数据库的过程中 我遇到了使用正则表达式来匹配化学公式的问题 我见过these two之前的主题 但建议的答案对于我的要求来说太宽松了 具体来说 我的 诚然有限的 研究使我发现这个帖子它给出了当前接受的化学符
  • 使用自定义分配器调用对象构造函数/析构函数

    我一直在研究自定义分配器 并且经常看到它们使用某种函数来分配内存 为了测试目的并进一步教育我自己 我尝试制作一个 简单 的例子 然而 我知道如何做一件基本的事情 主要区别之一是malloc vs new是用 new 调用构造函数 如果我想编
  • Solr:如何对两个不同的字段进行分组?

    我的架构是这样的 product id category id 类别包含产品 在 solr 3 6 中 我根据category id 对结果进行分组 效果很好 我刚刚添加了一个新字段 group id 一组包含尺寸或颜色不同的产品 示例 蓝