嗨,我不知道如何表达这个问题,所以我会尝试举个例子。
假设我的搜索词是: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 识别我的“&&”或“||” 在这个阶段。
任何人都可以建议组合过滤器来实现这种行为吗?
SOLR 版本是 3.5