If the number of volunteers is small enough, you could exclude all others in your query, e.g.:
All volunteers: a, b, c, d, e, f Query to include documents containing only volunteers a and b: +vol:a +vol:b -vol:c -vol:d -vol:e -vol:f Steve On 7/22/2009 at 6:49 AM, ba3 wrote: > Yes, the documents were already indexed and the documents do not get > updated. > > Maintaining an alternate index is a nice solution. Will try it out. > Thanks for the pointer. > > If there is a solution which can use the same index it would be great! > > --Rgds > Ba3 > > > Perhaps I misunderstood something, but how do you update a document? > > I mean, if a document contains vol:a, vol:b and vol:c and then you want > to > add vol:d to it, don't you remove the document and add it back? > > If that's what you do, then you can also update the numvols field, > right? > > Or .. you mean you already have an index w/ all those documents > indexed, and > you want to search it now? If you cannot rebuild it, may I suggest the > following - created another index and add documents to it in the same > order > as they were added to the current index. To each document add a > 'numvols' > field. Then use a ParallelReader to search over the two indices in > parallel > with the query I gave before. The two indices should look like this: > > Index 1 Index 2 > ------------------- ------------------------ > Doc: vol1, vol2, vol3 Doc: numvols:3 > Doc: vol1, vol4, vol6, vol7 Doc: numvols: 4 > Doc: vol5 Doc: numvols: 1 > Doc: vol3, vol8 Doc: numvols: 2 > > It should work if your index doesn't have deletes. If it has, consider > optimizing it or call expungeDeletes. > > If your scenario is different, then perhaps try to explain it more > accurately. > > Shai --------------------------------------------------------------------- To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org For additional commands, e-mail: java-user-h...@lucene.apache.org