我想将WordDelimiterFilterFactory用于以下要求:
input : 500bc
i want to search it with "500bc" or just "500"
因为我使用了 WordDelimiterFilterFactory :
<filter class="solr.WordDelimiterFilterFactory" preserveOriginal="1"/>
但是现在问题是它也用。(点)标记,就像查询&#34; 6.25&#34;也会给&#34; 25&#34;结果
我如何阻止WordDelimiterFilterFactory使用。(点)进行标记化?
答案 0 :(得分:2)
我用过
with open("/proc/sys/vm/drop_caches", "w") as drop_caches:
drop_caches.write("3")
在wdfftypes.txt我打了
即可。 =&GT; DIGIT 强>
它如何运作:现在solr会对待。作为数字和6.25都是数字WordDelimiterFilterFactory将不会标记化6.25
答案 1 :(得分:0)
尝试在过滤器声明中添加generateNumberParts="0"
参数,以防止过滤器在标点符号上拆分数字。您可以在此处查看更多详细信息:https://cwiki.apache.org/confluence/display/solr/Filter+Descriptions#FilterDescriptions-WordDelimiterFilter