【问题标题】:Suggestions for designing a search system for files stored in S3为存储在 S3 中的文件设计搜索系统的建议
【发布时间】:2012-03-24 11:43:10
【问题描述】:

我们正在为客户重新设计一个现有系统,该系统主要处理大量文件。

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

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

  1. 文件描述应该可以进行全文搜索。
  2. 应该可以对文件的其他属性进行过滤。

另外,根据文件描述,系统也应该能够推荐相似的文件。

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

  1. 将文件元数据存储在 MongoDB 中,并使用搜索功能 (http://www.mongodb.org/display/DOCS/Full+Text+Search+in+Mongo)
  2. 使用 Amazon DynamoDB。它提供 api 来扫描/查询数据集。
  3. 使用 Lucene/Solr(我还没有使用过这些,我还需要深入研究)

我发现了这个项目,与我需要的非常相似 http://www.thriftdb.com - 在主页上说它是一个内置搜索的数据存储。

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

提前致谢。

【问题讨论】:

    标签: search nosql amazon-web-services


    【解决方案1】:
    【解决方案2】:

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

    【讨论】:

    • Rafał Łużyński 你知道 Sphinx 是否适用于 nosql 数据库
    • sphinxsearch.com/about 如您所见,它们支持 xml 中的 nosql。 非 SQL 存储索引。数据也可以以称为 XMLpipe 的简单 XML 格式流式传输到批处理索引器,或直接插入增量 RT 索引
    【解决方案3】:

    Amazon 有一个用于 Lucene/Solr 的自定义 AMI,我们一直很乐意在我们的项目中使用它。 Lucene 具有强大的索引功能,并以极快的速度执行。我强烈建议您使用 Apache Lucene/Solr 来满足您的所有搜索需求。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-01-04
      • 1970-01-01
      • 1970-01-01
      • 2015-10-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多