保持“诚信”#39;在Sphinx中使用regexP过滤器或字形映射的令牌

时间:2016-01-12 12:45:36

标签: sphinx

以下面的例子为例(也许是荒谬的,但要做出一个快速且易于理解的例子):

regexp_filter = Photography => Videography
regexp_filter = graphy = > graphic
  • 对摄影的查询会发现自己和摄像,反之亦然。
  • Videographic的查询会找到两者。
  • 对Photographic的查询不会找到

因此,映射似乎已经被打破了。摄影来自进一步索引而不是自身(自然)和它被映射到的标记,而它被映射到的标记(Videography)仍然服从其他正则表达式/字形索引。

是否有上述(不包括字形)将映射Photography to Videography和后缀graphy to graphic仍然允许摄影服从后者?

1 个答案:

答案 0 :(得分:0)

因为过滤器按顺序应用。单词'摄影'将不匹配第一个过滤器,因此不会被替换。但第二个过滤器将适用。

但摄影将匹配第一个过滤器,并被替换,AND也将匹配第二个过滤器。

有两种方法,例如,可以单独将前缀替换为后缀

regexp_filter = Photograph => Videograph
regexp_filter = graphy = > graphic

然后第一个过滤器应用,如果是a / y或a / ic。无论其照片或视频如何,第二条规则都已适用。