Sphinx中的Regexp_filter表现不尽如人意

时间:2016-12-07 16:43:21

标签: sphinx

我正在使用regexp_filter在由sphinx提供支持的客户端选择中进行替换。我试图使regexp更有效,而不是

regexp_filter=Dr(.)? Jones=>Doctor Louis
regexp_filter=Dr(.)? Smith=>Doctor Alban

我做了

regexp_filter=(?i)Dr(.)? (Jones|Smith)=>Doctor \2

然而,这给了我意想不到的结果,特别是“Jobes博士”会返回所有Dr X条记录(例如Dr JonesDoctor GleasonDr Proctor)。

正如我所看到的,但是Dr X表格中的每条记录都只是将Dr. to Doctor编入索引,其姓氏(\ 2)完好无损。相反,它似乎将我放在(A|B)管道中的任何术语映射到通用匹配。

这似乎与这种方法过去的工作方式不一致,想知道我是否遗漏了正则表达式中显而易见的东西。

顺便说一句,如果我在myregextester中测试它,它按预期工作:

https://www.myregextester.com/?r=07efb8b2

0 个答案:

没有答案