我有一个狮身人面像服务器来索引一个 django 应用程序的 mysql 数据库。我的搜索工作正常,但我的内容包括医学词汇/短语。因此,例如,我需要搜索“dvt”以匹配“深静脉血栓形成”甚至“深静脉血栓形成”。我浏览了文档,看到了“wordforms”和“morphology”的选项。我应该使用哪些(或其他)?另外,什么会倒退?即,搜索“深静脉血栓形成”/“深静脉血栓形成”将匹配“dvt”。
另外,由于我是狮身人面像的新手,因此我将不胜感激有关如何设置它们的建议。
我有一个狮身人面像服务器来索引一个 django 应用程序的 mysql 数据库。我的搜索工作正常,但我的内容包括医学词汇/短语。因此,例如,我需要搜索“dvt”以匹配“深静脉血栓形成”甚至“深静脉血栓形成”。我浏览了文档,看到了“wordforms”和“morphology”的选项。我应该使用哪些(或其他)?另外,什么会倒退?即,搜索“深静脉血栓形成”/“深静脉血栓形成”将匹配“dvt”。
另外,由于我是狮身人面像的新手,因此我将不胜感激有关如何设置它们的建议。
您将需要提供自己的单词/术语同义词列表以用于查询扩展。
由于 Sphinx 目前不支持查询中的同义词扩展,因此您需要根据同义词列表对查询进行按摩,然后再将其提交给搜索引擎。
因此,使用您的示例:
用户查询:“dvt 补救程序”。
服务器接收查询并根据其同义词列表检查每个术语。
服务器找到匹配项并添加“深静脉血栓形成”进行查询。
服务器向搜索引擎提交新扩展的查询“dvt 深静脉血栓形成修复程序”。
最后,如果 Sphinx 中内置的词干分析器正在发挥作用,那么您不必将“静脉”和“静脉”作为单独的术语来支持,因为它们都应该来自同一个术语。如果不是这种情况,您可能需要进行额外的预处理来处理特定于您的语料库的单词(医学术语)。