为存储在S3中的文件设计搜索系统的建议

时间:2012-03-24 11:43:11

标签: search nosql amazon-web-services

我们正在努力让客户重新设计一个基本处理大量文件的现有系统。

文件(超过500万)当前存储在服务器文件系统上。客户端希望新系统将文件存储在S3中。 这些文件还有关联的元数据(名称,作者姓名,价格,描述等)。

搜索功能也需要重新设计。以下是基本要求

  1. 应提供文字说明的全文搜索。
  2. 应该可以对文件的其他属性进行过滤。
  3. 此外,根据文件描述,系统还应该能够为类似文件提供建议。

    我之前没有创建此类解决方案的经验,所以请求帮助和建议。 我正在考虑以下解决方案:

    1. 将文件元数据存储在MongoDB中,并使用搜索功能(http://www.mongodb.org/display/DOCS/Full+Text+Search+in+Mongo)<< li>
    2. 使用Amazon DynamoDB.It提供api来扫描/查询数据集。
    3. 使用Lucene / Solr(我还没有使用过这些,我还需要深入了解)
    4. 我找到了这个项目,这与我的要求非常相似 http://www.thriftdb.com - 在主页上,它表示内置搜索的数据存储区。

      如果这个问题应该是社区维基,请告诉我。

      提前致谢。

3 个答案:

答案 0 :(得分:6)

答案 1 :(得分:1)

关于搜索文件和按属性过滤,最好的是在文件管理器中使用的Sphinx搜索引擎(谷歌也在几年前使用它)。 我不知道它是否适用于亚马逊服务器。

答案 2 :(得分:0)

亚马逊为Lucene / Solr定制AMI,我们很高兴在我们的项目中使用它。 Lucene具有强大的索引功能,并以极高的速度执行。我强烈建议您使用Apache Lucene / Solr满足您的所有搜索需求。