+1 Ryan.

I understood this is a hobby project, where it might be fun to challange 
yourself,
but I wouldn't recommend reinventing search unless "reinventing search" is your 
entire business ;-)

-- 
Cheers,
Konrad 'ktoso’ Malawski
Akka @ Lightbend

On 31 March 2016 at 22:46:41, 'Ryan Tanner' via Akka User List 
([email protected]) wrote:

I don't want to rain on anyone's parade, but I think there's a reason that 
products like Solr and Elasticsearch are complicated: search is hard!  Getting 
it right at scale is *really tough*.

Personally, I would gladly trade the operational complexity of ES/Solr over 
reimplementing them myself.  

On Wednesday, March 30, 2016 at 12:42:53 AM UTC-6, Chelios wrote:
Hey guys

I've got an Eventsource based application (Not CQRS - Read and write are both 
on the write side). The state of all the entities/aggregates/actor are stored 
in memory because the data is not going to go above 120GB and I've have a 
machine with 265GB RAM.

Problem:
Suppose I have a million Products where each Product is an Actor supervised by 
ProductSupervisorActor and I want to perform the following query:
Query: Find all the products where the product description matches some user 
input.

I'm wondering if I could get away with just querying the state of the million 
actors and aggregating the result into one SearchRequestHandlerActor instead of 
using a search database like SOLR ? I've used SOLR before and it's super fast 
but I'm just trying to reduce the complexity in my application. If the state is 
already in memory may be I can just find a way to query it instead of 
introducing another moving part (SOLR) into the system that I have to manage 
and make sure that the data is synchronized.

I would really like to find a solution to perform the above query efficiently 
by just using Actors with paging. If I can achieve this then I can have 
ProductActors running anywhere in a cluster and the search would work just 
fine. Instead, if I was using SOLR I would have to shard or partition the 
database which just another hassle.

RIght now I've got a ProductSearchRequestHandlerActor which, on initilization, 
accepts totalNumberOfMessagesExpect: Long and accepts messages of type 
Option[ProductState] until the totalNumberOfMessagesExpect is reached. I have 
not implemented paging yet. 

I just wanted to get your opinion or ideas on how I can achieve this 
efficiently or any tips or I'm being silly for trying this because there is no 
central index ? 

Chel
--
>>>>>>>>>> Read the docs: http://akka.io/docs/
>>>>>>>>>> Check the FAQ: 
>>>>>>>>>> http://doc.akka.io/docs/akka/current/additional/faq.html
>>>>>>>>>> Search the archives: https://groups.google.com/group/akka-user
---
You received this message because you are subscribed to the Google Groups "Akka 
User List" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/akka-user.
For more options, visit https://groups.google.com/d/optout.

-- 
>>>>>>>>>>      Read the docs: http://akka.io/docs/
>>>>>>>>>>      Check the FAQ: 
>>>>>>>>>> http://doc.akka.io/docs/akka/current/additional/faq.html
>>>>>>>>>>      Search the archives: https://groups.google.com/group/akka-user
--- 
You received this message because you are subscribed to the Google Groups "Akka 
User List" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/akka-user.
For more options, visit https://groups.google.com/d/optout.

Reply via email to