我开始使用 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/