在生产中,我的应用程序运行MySQL + Amazon CloudSearch。在开发中,它只运行MySQL,我不想仅为开发运行搜索域。
目前,在开发中,我在MySQL中运行文本搜索,这不太理想,因为我必须编写特定的环境代码。
我找到了Groonga CloudSearch,这看起来很棒,但仍然非常年轻且不完整。
那么,在开发中替换Amazon CloudSearch的最佳方法是什么?
答案 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的上下文。您可以将它用作具有最小逻辑的键值存储,或者使用像
这样的复杂框架