我有一个允许多值字段的模式,如何构建仅返回该字段中包含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>
搜索将返回文档A和C,因为它们在MultivaluedField
中有2个条目,即使它们是不同的条目。
答案 0 :(得分:2)
最简单(也是最有效)的方法是索引一个包含值计数和现有值的整数值,因此您有一个multiValued_count
字段。可以对此字段建立索引,您可以执行有效范围查询和精确值查找。
如果需要,您可以直接在索引代码中或在更新处理器中执行此操作。