Php 斯芬克斯的拼写纠正?

Php 斯芬克斯的拼写纠正?,php,full-text-search,lucene,sphinx,Php,Full Text Search,Lucene,Sphinx,我正要将基于Sphinx的搜索集成到该网站中,但我发现没有对拼写更正的内置支持 网络上的人们建议使用pspell或其他第三方库来完成工作,但问题是我要搜索的数据大多包含诸如品牌名称之类的“技术”术语,因此我认为普通库不会包含它们 另一方面,Xapian声明基于索引的数据提供拼写更正支持,这正是我想要的。是否值得改用Xapian?我仍然很困惑我应该使用哪个全文搜索引擎:Sphinx看起来很不错,但是缺少Xapian(或者Lucene?)的一些很酷的功能,而后者看起来社区更小,文档更少 我想我可以使

我正要将基于Sphinx的搜索集成到该网站中,但我发现没有对拼写更正的内置支持

网络上的人们建议使用pspell或其他第三方库来完成工作,但问题是我要搜索的数据大多包含诸如品牌名称之类的“技术”术语,因此我认为普通库不会包含它们

另一方面,Xapian声明基于索引的数据提供拼写更正支持,这正是我想要的。是否值得改用Xapian?我仍然很困惑我应该使用哪个全文搜索引擎:Sphinx看起来很不错,但是缺少Xapian(或者Lucene?)的一些很酷的功能,而后者看起来社区更小,文档更少

我想我可以使用定制的pspell字典解决pspell字典中没有的单词的问题,但我不确定这是否会造成明显的性能损失?我将在一个非常流行的网站上使用搜索系统进行spotlight搜索(通过ajax对输入的每个字母进行单独搜索),因此性能很重要

理想情况下,我想让一些领域,如品牌名称,比普通词典有更多的优先权,但我想这并不重要,因为大多数品牌名称与其他单词有很大的区别

欢迎对定制全文搜索引擎的总体设计提出任何建议


谢谢,Sphinx允许您使用词法预处理器和单词形式词典。这两个因素结合在一起可以让你更接近你想要实现的目标。您可以在此处阅读更多关于这两个主题的信息:以及下面的内容

有几种形态预处理器可供选择,选择一种最适合您的需要。文档中还提到了Snowball项目,如果需要的话,它可以用内置的英语和俄语以外的其他语言添加词干。项目网站:


Sphinx是一个非常快速的全文搜索引擎,使用词干分析器不可能使搜索速度减慢到您开始注意到它的程度。

Sphinx没有内置的拼写更正,但可以使用Sphinx实现。在那里只能找到一篇关于这方面的指导性文章(由斯芬克斯的作者撰写)(在俄语中,你可以使用谷歌翻译阅读这篇文章。请看文章的第二部分“ЯПааа,эаааааааааа


我最近实现了这个方法——效果非常好