Keyword Search implementation in a microservices architecture

295 views
Skip to first unread message

Srijan Mukherjee

unread,
Oct 18, 2015, 1:35:49 AM10/18/15
to microservices
I need some advice as to how a search needs to be implemented to search keywords within relational databases owned by microservices.
I have some microservices with their own relational DB. These microservices are likely to be deployed in a docker container.
What would be the best way to use a search engine like Apache SOLR so that each of the microservices' database can be indexed and we can achieve keyword search

Thanks in advance

Christian Posta

unread,
Oct 18, 2015, 1:37:49 AM10/18/15
to Srijan Mukherjee, microservices
Can you give more info? like what's the purpose of the search? 
Reporting?

--
You received this message because you are subscribed to the Google Groups "microservices" group.
To unsubscribe from this group and stop receiving emails from it, send an email to microservice...@googlegroups.com.
To post to this group, send email to micros...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/microservices/dd74fe85-f9c0-4e54-9bb9-bed481507073%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.



--
Christian Posta
twitter: @christianposta

sinjar666

unread,
Oct 18, 2015, 9:55:50 AM10/18/15
to microservices
he purpose of the search would be a full text based search wherein the keyword comes from the client and it is searched in a relational db. I am thinking of using apache solr for indexing the rdbms. Now would it be wise to have one solr instance indexing the db. Or would you propose some other mechanism.
The solution needs to be scalable and lets assume for now that no sql data storage for the business data is not an option.

Christian Posta

unread,
Oct 19, 2015, 8:05:43 PM10/19/15
to sinjar666, microservices
How consistent do the results need to be? ie, are there writes immediately followed by reads that are expected to return exactly what was written? Or can the reads be eventually consistent? 

The question won't be about relationa/nosql, etc. It'll be about eventually consistent reads/aggregating the data across multiple services for complex joins (if applicable). This can be done out of band from transaction processing (following something like CQRS) but depends on the consistency needs of your reads.

On Sun, Oct 18, 2015 at 6:55 AM, sinjar666 <sinjarth...@gmail.com> wrote:
he purpose of the search would be a full text based search wherein the keyword comes from the client and it is searched in a relational db. I am thinking of using apache solr for indexing the rdbms.  Now would it be wise to have one solr instance indexing the db. Or would you propose some other mechanism.
The solution needs to be scalable and lets assume for now that no sql data storage for the business data is not an option.

--
You received this message because you are subscribed to the Google Groups "microservices" group.
To unsubscribe from this group and stop receiving emails from it, send an email to microservice...@googlegroups.com.
To post to this group, send email to micros...@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.

sinjar666

unread,
Oct 20, 2015, 3:59:16 AM10/20/15
to microservices
Even if the results aren't consistent immediately it would be fine.. But it should be eventually consistent.. Something like a minute delayaybe after the write gets reflected in the search results should be fine...
Reply all
Reply to author
Forward
0 new messages