Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Search 如何在sphinx搜索中处理单词形式_Search_Full Text Search_Sphinx_Stemming_Django Sphinx - Fatal编程技术网

Search 如何在sphinx搜索中处理单词形式

Search 如何在sphinx搜索中处理单词形式,search,full-text-search,sphinx,stemming,django-sphinx,Search,Full Text Search,Sphinx,Stemming,Django Sphinx,我有一个sphinx服务器来索引django应用程序的mysql数据库。我的搜索工作正常,但我的内容包括医学词汇/短语。因此,例如,我需要搜索“dvt”,以与“深静脉血栓形成”甚至“深静脉血栓形成”匹配。我浏览了文档,看到了“wordforms”和“形态学”的选项。我应该使用这些(或其他)中的哪一个?还有,什么东西可以反向工作?也就是说,搜索“深静脉血栓形成”/“深静脉血栓形成”将与“dvt”匹配 另外,由于我一般不熟悉sphinx,因此我希望您能提供一些关于如何设置这些的建议。您需要提供自己的

我有一个sphinx服务器来索引django应用程序的mysql数据库。我的搜索工作正常,但我的内容包括医学词汇/短语。因此,例如,我需要搜索“dvt”,以与“深静脉血栓形成”甚至“深静脉血栓形成”匹配。我浏览了文档,看到了“wordforms”和“形态学”的选项。我应该使用这些(或其他)中的哪一个?还有,什么东西可以反向工作?也就是说,搜索“深静脉血栓形成”/“深静脉血栓形成”将与“dvt”匹配


另外,由于我一般不熟悉sphinx,因此我希望您能提供一些关于如何设置这些的建议。

您需要提供自己的单词/术语同义词列表,以便在查询扩展中使用

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

因此,以你的例子:

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

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

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

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


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

您需要提供自己的单词/术语同义词列表,以便在查询扩展中使用

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

因此,以你的例子:

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

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

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

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

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