如何在 Solr 的多值字段中搜索包含 2 个或更多条目的文档?

How to search over documents with 2 or more entries in multivalued field in Solr?

我有一个允许多值字段的模式,我如何构建一个搜索,该搜索只包含 returns 个在该字段中有 2 个或更多条目的文档?例如在这个数据子集中:

<doc>
<str name="id">A</str>
<arr name="multivaluedField">
  <str>One</str>
  <str>Two</str>
</arr></doc>

<doc>
<str name="id">B</str>
<arr name="multivaluedField">
  <str>One</str>
</arr></doc>

<doc>
<str name="id">C</str>
<arr name="multivaluedField">
  <str>Three</str>
  <str>Four</str>
</arr></doc>

搜索将 return 仅记录 A 和 C,因为它们在 MultivaluedField 中有 2 个条目,即使它们是不同的条目。

最简单(也是最有效)的方法是索引包含值计数和现有值的整数值,因此您有一个 multiValued_count 字段。该字段可以被索引,您可以进行高效的范围查询和精确值查找。

如果需要,您可以直接在索引代码中或在更新处理器中执行此操作。