Thanks Darren, The problem with that is that it may not return one document per id, which is what I need. IE, I could give 100 ids in that OR query and retrieve 100 documents, all containing just 1 of the IDs.
-Kallin Nagelberg -----Original Message----- From: dar...@ontrenet.com [mailto:dar...@ontrenet.com] Sent: Thursday, May 20, 2010 12:21 PM To: solr-user@lucene.apache.org Subject: Re: seemingly impossible query Ok. I think I understand. What's impossible about this? If you have a single field name called <id> that is multivalued then you can retrieved the documents with something like: id:1 OR id:2 OR id:56 ... id:100 then add limit 100. There's probably a more succinct way to do this, but I'll leave that to the experts. If you also only want the documents within a certain time, then you also create a <time> field and use a conjunction (id:0 ...) AND time:NOW-1H or something similar to this. Check the query syntax wiki for specifics. Darren > Hey everyone, > > I've recently been given a requirement that is giving me some trouble. I > need to retrieve up to 100 documents, but I can't see a way to do it > without making 100 different queries. > > My schema has a multi-valued field like 'listOfIds'. Each document has > between 0 and N of these ids associated to them. > > My input is up to 100 of these ids at random, and I need to retrieve the > most recent document for each id (N Ids as input, N docs returned). I'm > currently planning on doing a single query for each id, requesting 1 row, > and caching the result. This could work OK since some of these ids should > repeat quite often. Of course I would prefer to find a way to do this in > Solr, but I'm not sure it's capable. > > Any ideas? > > Thanks, > -Kallin Nagelberg >