Hi All
This may not be a question for this forum but i wasn't sure where to start. Please accept my apologies if anyone thinks that this is not the appropriate place for this question.
I am currently working on building a proof of concept search solution for my company using Lucene and Hibernate Search. I have built individual components which work fine. I am now looking at creating a single api that would allow a user to get search results back from different sources (domain + data). What I would like to achieve is something like a search manager fires search requests to different search components asynchronously and when one set of results have been processed return that result to the user while processing the rest. Once the result of the search has been processed notify teh client that there are more search results available.
I am wondering whether I have a search manager which creates seperate threads to search individual search components and keeps a list of search results. Once the list is populated with one set return that back to the user. Any additional search results added would involve the search manager pushing the results to the user.
I am not looking for any code example (any would be appreciated) but I was wondering if I could get some guidance on how to tackle this problem. Do I use event processing technologies (GigaSpaces, Spring, JMS) or use standard Java concurrent libraries. What would be the effective way of managing the list and push the updated results.
Cheers Amin
|