3

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

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

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

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

4

2 回答 2

1

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

系统:开发或现场

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

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

于 2013-06-25T13:42:23.173 回答
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

于 2013-04-16T21:07:33.623 回答