我一直在寻找一些可用于共享主机的开源搜索引擎软件/库,我知道Lucene,Lucene.Net,Sphinx或Xapian等服务无法在共享主机中使用,因为它们需要一些安装或重新启动。
查看维基百科文章(see here)我发现了这些开源搜索引擎解决方案。
Apache Solr
BaseX
Clusterpoint Server (freeware licence for a single-server)
DataparkSearch
ElasticSearch (Apache License, Version 2.0)
Ferret
ht://Dig
Hyper Estraier
KinoSearch
Lemur/Indri
Lucene
mnoGoSearch
Sphinx
Swish-e
Xapian
当我搜索时,他们中没有一个可以用于共享主机。我认为我必须坚持使用MySQL FULL TEXT搜索,而我正在共享主机上。
所以对搜索引擎替代共享主机的任何建议。
答案 0 :(得分:3)
只要您的主机支持PHP 5+,您就可以使用Zend Framework的Lucene实现。它支持Lucene索引格式版本1.4 - 2.3。由于索引直接写入文件系统,因此它应该支持允许文件系统访问的任何主机(大多数都可以)。
文档:http://framework.zend.com/manual/en/zend.search.lucene.html
话虽这么说,你也可以简单地使用MySQL全文搜索。它并非没有限制,它不是最具扩展性的解决方案,但你所说的共享主机通常不是最具扩展性的环境,所以我不会太担心它。
PostgreSQL也是一个选项,如果您使用Heroku等托管服务提供商(可以在Heroku上运行PHP),建议使用PostgreSQL。
此外,根据您的搜索需求,您可以简单地阅读倒置索引并自行编写简单的实现。
最后,我想提一下,您实际上没有列出您感兴趣的搜索功能。
如果没有列出您想要的功能,那么某人就很难做出准确(且无偏见)的推荐。话虽这么说,你可能会对基础知识很好。
答案 1 :(得分:2)
http://www.google.com/enterprise/search/products_gss.html
http://developer.yahoo.com/search/boss/boss_api_guide/v2_univer_api_args.html#v2_univer_api_query
你试过看过这些吗?它们适用于已通过搜索引擎正确索引的公共站点。
另一种选择是编写自己的搜索引擎,尽管这可能不会像共享主机方案中的三大引擎之一处理的那样快。
答案 2 :(得分:1)
ClusterPoint最近在http://cloud.clusterpoint.com/推出了托管“云”服务。当您打算使用共享主机时,您也可以使用托管数据库。
答案 3 :(得分:0)
另一个选项是Findberry(http://www.findberry.com)。您可以控制自动索引的频率并手动调用索引。我不知道它是否适合您的情况,但可能值得一试。