![](/img/trans.png)
[英]Does Sphinx (or other third party) search engine work in my case or should I create my own?
[英]Which third party search engine (free) should I use?
如标题所示,我需要一个搜索引擎...用于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进行匹配,然后检查顺序)或编写自己的解决方案,您可能将无法执行。 所有这些都会降低搜索速度,并增加服务器负载。
如果您有时间进行初始设置,那么Xapian非常好(非常全面)。
它的功能与您期望的搜索引擎一样,告诉索引器在什么名称空间/表/对象(页面,配置文件,产品等)下索引哪些信息,然后根据关键字向用户发出查询,支持Google样式标签,例如“ profile:Mark icecream”会在我的配置文件中搜索单词icecream,我似乎还记得它也支持您指定为数字的数据范围。
可以在本地模式下使用,该模式可以提供拼写修改功能(您是说吗?),也可以在许多站点可以索引和查询的远程模式下使用。
真正节省了我一次时间的功能是能够将临时不可搜索的数据附加到索引的项,例如,将数据库ID附加到为该记录建立索引的所有数据,这非常适合于在匹配到时从数据库中获取整个记录从xapian回来。
在此期间,我已经在网站上使用了几个搜索引擎,但是在下一次重建中,我打算迁移到Google Site Search。
有几个原因:
Google Site Search的起始价格为每年100美元(适用于1000页或更少的页面)(并且有查询限制),或者您可以使用免费的Google Custom Search Engine(但是可定制性要低得多)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.