嗨我不知道如何用这个问题说出来,所以我会尝试一个例子。
假设我的搜索字词为:PHP/MYSQL
我在索引中有6个文档,其中“原始”内容为:
1: PHP MYSQL
2: PHP/MYSQL
3: PHP
4: MYSQL
5: PHP some stuff here and then MYSQL
6: weirdos may enter stuff like PHPMYSQL
我希望此查询搜索的是"PHP MYSQL" OR (PHP AND MYSQL)
为我带来文档1,2(在索引时间中删除斜杠),5和6
我尝试过使用各种不同选项的solr.WordDelimiterFilterFactory,我甚至尝试在查询分析器上手动执行它:
<filter class="solr.PatternReplaceFilterFactory"
pattern="(\S+)[\.\\;,\/:!\?]+(\S+)"
replacement="$1$2 || $1 && $2"
replace="all"
/>
我无法让solr认出我的“&amp;&amp;”或“||”在这个阶段。
有人可以建议使用过滤器组合来实现此行为吗?
SOLR版本为3.5