2011-06-05 46 views
1

我有一个狮身人面像服务器来索引一个Django应用程序的MySQL数据库。我的搜索工作正常,但我的内容包括医疗单词/短语。因此,例如,我需要寻找“dvt”以匹配“深静脉血栓形成”甚至“深静脉血栓形成”。我查看了文档并查看了“wordforms”和“morphology”的选项。我应该使用哪些(或其他)?另外,什么会倒退?即搜索“深静脉血栓形成”/“深静脉血栓形成”将与“dvt”匹配。我如何处理狮身人面像搜索中的单词形式

此外,我将不胜感激关于如何设置这些建议,因为我是一般的狮身人面像新手。

回答

1

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

由于Sphinx目前不支持查询中的同义词扩展,因此在将其提交给搜索引擎之前,需要根据同义词列表来处理该查询。

因此,使用你的例子:

  • 用户查询: 'DVT修复程序'。

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

  • 服务器找到一个匹配,并添加“深静脉血栓形成”查询。

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

最后,如果建成狮身人面像词干是做自己的工作,你不应该有支持“静脉”和“静脉”作为单独的条款,因为它们都应该干到同一个术语。如果情况并非如此,那么您可能需要做额外的预填词来处理特定于您的语料库的词语(医学术语)。