如何在开发中替换Amazon CloudSearch?

时间:2013-03-24 19:07:59

标签: amazon-cloudsearch

在生产中,我的应用程序运行MySQL + Amazon CloudSearch。在开发中,它只运行MySQL,我不想仅为开发运行搜索域。

目前,在开发中,我在MySQL中运行文本搜索,这不太理想,因为我必须编写特定的环境代码。

我找到了Groonga CloudSearch,这看起来很棒,但仍然非常年轻且不完整。

那么,在开发中替换Amazon CloudSearch的最佳方法是什么?

2 个答案:

答案 0 :(得分:1)

我们只是添加了一个索引字段来对数据进行分类,例如

system:dev or live

然后,代码中的任何搜索都会将dev / live传递给搜索查询,具体取决于它运行的系统。

您还可以为“域”添加索引,然后将值设置为“www.mydomain.com”和“dev.mydomain.com”。然后在您的代码中进行搜索,只需传入文档来自的域以及它们应该可见的位置。

答案 1 :(得分:0)

这是其中一个“这取决于你如何使用它”的答案。有没有理由(费用除外)为什么你不想在开发中使用AWS云搜索?您正在选择一个非常具体的SAAS产品,对于那些不参与该项目的人来说,它实际上是一个黑盒子。

尽管如此,一些可行的替代(取决于所需的特征)是:

-Solr - lucene.apache.org/solr/

-Elasticsearch - elasticsearch.org

-Whoosh - bitbucket.org/mchaput/whoosh/

-Xapian - xapian.org

-Really anything that uses the Lucene - lucene.apache.org/core/ -full text search engine

-MongoDB -mongodb.org

-Memcached memcached.org

-Redis redis.io/

所以......是的......它完全取决于你的堆栈中CloudSearch的上下文。您可以将它用作具有最小逻辑的键值存储,或者使用像

这样的复杂框架

干草堆 - https://github.com/pbs/haystack-cloudsearch