【问题标题】:Full text search with Amazon Services使用亚马逊服务进行全文搜索
【发布时间】:2012-02-11 13:33:23
【问题描述】:

我想将我的应用程序迁移到 Amazon SimpleDB,因为我不会自己维护数据库服务。此应用程序在重负载下运行。每秒有很多读/写。我不需要一致性和原子性,我想让事情尽可能简单,所以 SimpleDB 是不错的选择。

问题是,我需要全文搜索功能。而且我不知道如何使用 Amazon SimpleDb 让它变得更好。在使用 MongoDB 数据库进行手写全文搜索之前,我已经实现过。我必须在我的应用程序层中将文本拆分为单词,并构建我自己的索引。这并不难,但我不想用 SimpleDB 再做一次。

我发现了一篇有趣的文章 http://codingthriller.blogspot.com/2008/04/simpledb-full-text-search-or-how-to.html

但我不想自己实现它。我正在寻找一个预制的解决方案

有哪些选择?

使用 Amazon RDS + Lucene 会更好吗?

或者可能有针对 SimpleDB 的现成解决方案?

要求是:

  • 能够处理大量并发请求
  • 全文搜索(文本大小不会大于 1MB(SimpleDB 限制))
  • 最好不要自己管理。

【问题讨论】:

    标签: amazon-web-services full-text-search amazon-rds amazon-simpledb


    【解决方案1】:

    Lucene 或类似的东西通常是人们这样做的方式,但不知道您正在使用什么平台,很难提出任何特别的建议。 Simol 是 SimpleDB 的 .NET 对象持久性框架,可以使用 Lucene.NET 进行索引。我还查看了一些还不错的基本 Lucene.NET 示例。如果您正在寻找托管索引服务,您可以查看this 问题。

    为了让您的索引做好它的工作,您很可能需要根据您的应用程序对其进行调整。

    【讨论】:

    • 我决定改用 MongoDb,它很容易实现全文搜索。无论如何我接受你的回答,因为我在这里找不到好的解决方案
    【解决方案2】:

    亚马逊似乎将在 2012 年 1 月 18 日宣布与搜索有关的内容。http://pandodaily.com/2012/01/17/good-news-for-ec2-customers-amazon-may-launch-new-cloud-search-tomorrow/

    SimpleDB 的全文搜索不是很好。例如,它不会在单个字段上搜索超过 300,000 个文档,使用 %like% 运算符。大约需要 2 或 3 次尝试 - 大约 15 秒才能通过仅 100 MB 的文本来寻找匹配项。我认为它太慢了,其他人也一样。请参阅 AWS 论坛...

    【讨论】:

      【解决方案3】:

      Amazon CloudSearch 已经发布,但没有一种简单的方法可以在不编写代码的情况下将数据从 SimpleDB 移动到 CloudSearch。

      不过,API 相当简单,根据您的需要(如果您使用现有的 SDK),它可能会在一两周内开始运行。如果您使用的是没有 SDK 的编程语言,则需要更长的时间。

      http://aws.amazon.com/cloudsearch/

      【讨论】:

        猜你喜欢
        • 2011-12-29
        • 1970-01-01
        • 2013-01-06
        • 1970-01-01
        • 1970-01-01
        • 2011-06-12
        • 2013-01-01
        • 2017-10-18
        • 1970-01-01
        相关资源
        最近更新 更多