给定以下示例 solr 文档:
<doc>
<field name="guid">1</field>
<field name="name">Harry Potter</field>
<field name="friends">ron</field>
<field name="friends">hermione</field>
<field name="friends">ginny</field>
<field name="friends">dumbledore</field>
</doc>
<doc>
<field name="guid">2</field>
<field name="name">Ron Weasley</field>
<field name="friends">harry</field>
<field name="friends">hermione</field>
<field name="friends">lavender</field>
</doc>
<doc>
<field name="guid">3</field>
<field name="name">Hermione Granger</field>
<field name="friends">harry</field>
<field name="friends">ron</field>
<field name="friends">ginny</field>
<field name="friends">dumbledore</field>
</doc>
和以下查询(或过滤查询):
friends:ron OR friends:hermione OR friends:ginny OR friends:dumbledore
所有三个文档都将被返回,因为它们每个都有至少一个指定的朋友。
但是,我想为匹配的朋友数量设置一个最小(和最大)阈值。例如,仅返回具有至少 2 个但不超过 3 个指定好友的文档。
这样的查询只会返回第三个文档(Hermione Granger),因为她指定了 4 个朋友中的 3 个,而第一个(哈利波特)匹配所有 4 个,第二个(罗恩韦斯莱)只匹配 1 个。
这在 Solr 查询中是否可行?