已知以下的solr文件:Solr的:过滤在OR查询的匹配的多值字段中的数字
<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个指定好友的文档。
这样的查询将只返回第三文件(赫敏),因为她的指定的4位朋友3,而第(哈利·波特)匹配所有4和第2(罗恩)只有1
匹配Solr查询可能吗?
正是我在找什么。谢谢! – jiffybank 2013-05-14 16:39:47
你知道'termfreq' fq中使用通配符的方法吗?所以你可以使用'termfreq(文本,管理*)'来匹配“经理”,“管理”和“管理”? – 2015-02-06 22:59:09