barbolo
barbolo

Reputation: 3887

How do you replace Amazon CloudSearch in development?

In production, my application runs MySQL + Amazon CloudSearch. In development, it runs only MySQL and I'm not interested in running a search domain only for development.

Currently, in development, I run text searches in MySQL, which is not ideal because I have to write specific environment code.

I have found Groonga CloudSearch, which seems awesome, but still very young and incomplete.

So, what would be the best approach to replace Amazon CloudSearch in development?

Upvotes: 3

Views: 1035

Answers (2)

DavidChannon
DavidChannon

Reputation: 43

We simply just added an index field to classify the data e.g.

system: dev or live

Then any search from the code just passes in dev/live to the search query depending on what system it is running on.

You could also add a index for "domain" and then have values of "www.mydomain.com" and "dev.mydomain.com". Then in your code to do the search just pass in the domain that documents are coming from and where they should be visible.

Upvotes: 1

user2287955
user2287955

Reputation: 11

This is one of those "it depends on how you're using it" answers. Is there a reason (other than expense) why you don't want to use AWS cloud search in development? You're choosing a pretty specific SAAS product that's effectively a black box to anyone who doesn't work on the project.

That said, some viable substitutions (depending on features needed) are:

-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/

so... yeah... it completely depends on the context of CloudSearch in your stack. You could be using it as a key-value store with minimal logic, or with a complex framework like

Haystack - https://github.com/pbs/haystack-cloudsearch

Upvotes: 1

Related Questions