【问题标题】:How do I handle word forms in sphinx search如何在 sphinx 搜索中处理单词形式
【发布时间】:2011-09-08 22:56:38
【问题描述】:

我有一个 sphinx 服务器来为 django 应用程序索引一个 mysql 数据库。我的搜索工作正常,但我的内容包括医学词汇/短语。因此,例如,我需要搜索“dvt”以匹配“深静脉血栓形成”甚至“深静脉血栓形成”。我浏览了文档,看到了“wordforms”和“morphology”的选项。我应该使用哪些(或其他)?另外,什么会倒退?即,搜索“深静脉血栓形成”/“深静脉血栓形成”将匹配“dvt”。

另外,由于我是 sphinx 的新手,所以我希望能提供一些关于如何设置这些的建议。

【问题讨论】:

    标签: search full-text-search sphinx stemming django-sphinx


    【解决方案1】:

    您需要提供自己的单词/术语同义词列表以用于查询扩展。

    由于 Sphinx 目前不支持查询中的同义词扩展,因此您需要根据同义词列表对查询进行处理,然后再将其提交给搜索引擎。

    所以,用你的例子:

    • 用户查询:“dvt 补救程序”。

    • 服务器接收查询并根据其同义词列表检查每个术语。

    • 服务器找到匹配项并将“深静脉血栓形成”添加到查询中。

    • 服务器向搜索引擎提交新扩展的查询“dvt 深静脉血栓形成修复程序”。

    最后,如果 Sphinx 中内置的词干分析器正在发挥作用,那么您不必将“静脉”和“静脉”作为单独的术语来支持,因为它们都应该来自同一个词。如果不是这种情况,您可能需要进行额外的词干预处理来处理特定于您的语料库的单词(医学术语)。

    【讨论】:

      猜你喜欢
      • 2019-03-09
      • 1970-01-01
      • 2021-06-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-20
      • 2012-07-02
      • 2018-06-14
      相关资源
      最近更新 更多