java - Solr 分组和方面

标签 java solr solrj

我开始使用 Solr 但遇到了一些问题。问题是我有一份包含人员数据的文档。该文档可以包含两次或多次相同的人。我发现我可以使用所谓的 FieldCollapsing 对我的结果进行分组,并且效果很好。例如,我有一个包含 104 人的文档,其中 78 个条目是双倍的,所以我的分组结果是 26。

现在我想知道这 26 个人中有多少人是男性或女性,如果我添加 group.query 并将其包含到我得到的结果整数 1 的性别分组中,我的问题就开始了。如何获得男性和女性的值(value)观?我是否需要进行第二次查询或者我可以修改我的查询吗?

如果您需要更多信息或代码,请告诉我。

最佳答案

我之前处理过同样的问题,但是由于索引中的文档数量很大,获取唯一的构面编号会比仅获取整个编号慢一些。

您需要做的是将 group.facet=true 添加到 url 或 solrconfig 中的默认值:

<lst name="defaults">
    <str name="group">true</str>
    <str name="group.field">PersonId</str>  <!-- Group by your person id here -- >
    <str name="group.facet">true</str>  <!-- this is what you are after -->
</lst>

关于java - Solr 分组和方面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22380392/

相关文章:

java - Playn - 是否可以部署在 Apache 服务器上?

java - 我怎样才能以最少的依赖启动 Mule 3 embedded?

java - 如何在 SOLR 连接中从两个核心获取所有数据

java - 使用 JPanel 内的按钮关闭 JFrame 不起作用

java - 线程之间是否共享静态变量?

solr地理层次结构

Solr 建议器多次返回相同的结果,但权重为空

java - Solr 空白建议器/查询分析器

java - Solrj 查询 https 协议(protocol)错误

java - solr 不能删除任何东西