我们有一个网络应用程序,允许用户上传文档、创建自己的文档等等。上传的文件存储在 Amazon S3 上,创建的信息存储在 MySQL 数据库中。我正在寻找的是某种搜索引擎,我将所有的文本文档都提供给它,每个文档都有一个唯一的 ID,它会建立一个索引或其他什么。稍后,我可以给它搜索查询,它会提取出最匹配的文档(通过他们的 ID),以及匹配的文本片段。
基本上,我们希望允许我们的用户搜索他们上传的内容的存储库,以及其他用户标记为公开的任何内容。该解决方案应该在标准 Linux 服务器上运行,理想情况下它应该是开源的,但如果价格不高,我也会考虑付费解决方案。
到目前为止,我已经找到了三个潜在的候选人:
- MySQL全文搜索-我读过的一些报告是它非常慢
- Apache Lucene - 不幸的是用 Java 编写的,但如果必须,我会使用它。据说很快
- Sphinx - 似乎没有那么受欢迎,理想情况下,我找到的任何解决方案都会有很多社区支持。
请让我知道是否还有其他我忽略的好选择,或者您是否有上述任何方面的经验。