如标题所示,我需要一个搜索引擎…以便进行mysql搜索。我的网站是基于PHP的。
我当时正使用狮身人面像,但我的托管公司不支持全文索引!
因此,无需全文本即可使用的搜索引擎!
它应该非常强大,并且必须至少包括以下这些功能:
当搜索“ bmw 520”时,仅匹配这两个词完全按此顺序出现的位置。仅与“宝马”或“ 520”不匹配。
当搜索“ bmw 330ci”时,将返回上述结果,但是使用WITH和WITH而不使用ci扩展名。众所周知,汽车中有nr个扩展名(i,ci,si,fi等)。
我希望“减号”“排除”所有在该符号后包含单词的返回值,例如:“ bmw -330”将返回所有“ bmw”结果,而不包含“ 330”结果。(用NOT代替减号也是可以的)
所有特殊字符的重音符号(例如“茅”)都将转换为它们的简单值,在这种情况下为“ e”。
搜索中要完全忽略的单词列表
谢谢你们!
该Zend_Lucene搜索主管的作品相当不错。我不确定它将如何满足您的第二个要求,但是,如果您定制了标记化的标记,则应该能够通过将字母到数字的变化视为一个新词来做到这一点。
我真的不确定那个是最高要求。给定索引的方式,顺序在搜索中将变得不再需要,因此,如果不对Lucene进行大量编辑,编写过滤器(使用lucene进行匹配,然后检查顺序)或编写自己的解决方案,您可能无法做到这一点。所有这些都会降低搜索速度,并增加服务器负载。
还有solr,但我从未使用过它,对此一无所知。狮身人面像是另一个,但是我看到你已经排除了这一点。