我们有一个网络应用程序,允许用户上载文档,创建自己的文档等。上传的文件存储在Amazon S3上,创建的信息存储在MySQL数据库中。我要寻找的是某种搜索引擎,在其中向我们提供所有文本文档(每个文档都有唯一的ID),并建立索引或其他内容。稍后,我可以给它提供搜索查询,它将检索出最佳匹配的文档(通过其ID),以及匹配的文本片段。
基本上,我们希望允许我们的用户搜索他们上传的资料的存储库,以及其他用户标记为公开的内容。该解决方案应该在标准的Linux服务器上运行,并且理想情况下将是开源的,但是如果价格不算太高,我还将考虑使用付费解决方案。
到目前为止,我已经找到了三个潜在的候选人:
MySQL全文搜索 -我读过的一些报告说它很慢
Apache Lucene-不幸的是用Java编写,但是如果需要的话,我会用它。据说快
Sphinx-似乎不那么受欢迎,理想情况下,我发现的任何解决方案都将得到社区的大力支持。
如果我忽略了其他任何不错的选择,或者您有以上任何经验,请告诉我。
看一下Solr。它基于Lucene,因此速度非常快,并且在任何平台上都非常易于使用。