Pavel, I suppose the benchmark matters, anyway. (when benchmark 1. don't forget to enable http connection pooling on the client side) Regarding the 2. - passing the long disjunction is a well known road block (it's not a really natural problem for search engines). Most of approaches is described at http://lucene.472066.n3.nabble.com/Solr-large-boolean-filter-td4070747.htmlthere is even some code at github! If you see that stored fields is a slowpoke, but only if you do, you can consider https://wiki.apache.org/solr/FieldCollapsing , however it's also known as a bottleneck.
On Thu, May 22, 2014 at 12:00 PM, Pavel Belenkovich < pavel.belenkov...@exlibrisgroup.com> wrote: > Hi Jack! > > Thanx for the response! > > So you say that using method 2 below (single request with ORs and sorting > results in client) is better than method 1 (separate requests)? > > regards, > Pavel. > > > -----Original Message----- > From: Jack Krupansky [mailto:j...@basetechnology.com] > Sent: Thursday, May 22, 2014 01:26 > To: solr-user@lucene.apache.org > Subject: Re: multiple queries in single request > > Nothing special for this use case. > > This seems to be a use case that I would call "bulk data retrieval - based > on ID". > > I would suggest "batching" your requests - limit each request query to, > say, > 50 or 100 IDs. > > -- Jack Krupansky > > -----Original Message----- > From: Pavel Belenkovich > Sent: Wednesday, May 21, 2014 1:07 PM > To: solr-user@lucene.apache.org > Subject: multiple queries in single request > > Hi, > > I have list of 1000 values for some field which is sort of id (essentially > unique between documents) (let's say firstname_lastmane). > I need to get the document for each id (to know which document is for > which id, not just list of responses). > > Is there some support for multiple queries in single Solr request? > I saw old posts requesting that but don't know if it's been implemented > yet. > > There are 2 methods I can think of to achieve the result: > 1 - trivial - make separate request per value. I think it's very > inefficient. > 2- Perform single request with OR on all values. > Then loop over the responses and match them to requested values. > This would also require making the field stored. > > Can you propose better option? > > thanx, > Pavel > > -- Sincerely yours Mikhail Khludnev Principal Engineer, Grid Dynamics <http://www.griddynamics.com> <mkhlud...@griddynamics.com>