在Sphinx中处理美式/英式拼写加复数

在Sphinx中处理美式/英式拼写加复数,sphinx,thinking-sphinx,Sphinx,Thinking Sphinx,我们需要让所有这些条件相互匹配,并且遇到了困难 骨科,骨科,骨科,骨科 目前,我们正在使用词法stem_en处理大多数其他复数 这是该组的当前wordforms条目(该对反向或反向复制) 否则它只能以一种方式工作) 然而,“矫形外科”与“矫形外科”不匹配,我们不能添加其他条目 “骨科>骨科”,因为“骨科”已经存在,并且将抛出一个 索引时出错 如有任何建议,将不胜感激 这对是反向复制的,否则它只能以一种方式工作 orthopaedic > orthopedic orthopedic >

我们需要让所有这些条件相互匹配,并且遇到了困难

骨科,骨科,骨科,骨科

目前,我们正在使用词法stem_en处理大多数其他复数

这是该组的当前wordforms条目(该对反向或反向复制) 否则它只能以一种方式工作)

然而,“矫形外科”与“矫形外科”不匹配,我们不能添加其他条目 “骨科>骨科”,因为“骨科”已经存在,并且将抛出一个 索引时出错

如有任何建议,将不胜感激

这对是反向复制的,否则它只能以一种方式工作

orthopaedic > orthopedic
orthopedic > orthopaedic
orthopedics > orthopaedics
orthopaedics > orthopedics
那是个坏主意!如果把两者都放在一起,就会导致问题(就像你发现的那样!),你会把一个换成另一个,这样它们就不会正确匹配了

你只需要一个方向。斯芬克斯取左边的单词,并实际将右边的单词存储在索引中。因此,寻找左派和右派是可以互换的。如果你交换单词,他们就有机会匹配

由于wordforms执行“词干异常”,即wordforms中的一个单词没有词干,因此这意味着许多单词不匹配,因此出现了复杂性。所以你需要

  • 在wordforms列表上手动执行词干分析,然后
  • 列出wordforms文件中的所有变体,-相同的常用词
  • 使用上面的例子,可能是

    orthopaedic > orthopedic 
    orthopedic > orthopedic 
    orthopedics > orthopedic 
    orthopaedics > orthopedic 
    
    如果这个词真的出现了,stem就必须这样做

    bridge > bridg
    bridges > bridg
    bridging > bridg
    

    它极大地膨胀了你的wordforms文件,但它可以自动化