次の 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
3 つのドキュメントはすべて、指定された友人の少なくとも 1 人を持っているため、返されます。
ただし、一致する友達の数に最小 (および最大) のしきい値を設定したいと思います。たとえば、指定されたフレンドが 2 人以上 3 人以下のドキュメントのみを返します。
このようなクエリでは、指定された 4 人の友人のうち 3 人が指定されているため、3 番目のドキュメント (ハーマイオニー グレンジャー) のみが返されますが、最初のドキュメント (ハリー ポッター) は 4 人すべてに一致し、2 番目のドキュメント (ロン ウィーズリー) は 1 つだけに一致します。
これは Solr クエリで可能ですか?