Re: is SearchComponent the correct way?

2018-11-29 Thread Mikhail Khludnev
@Override public void collect(int doc) throws IOException { docNumsByIds.put(context.reader().doc(doc).getField("id"), doc); // don't call delegate } @Override protected void doSetNextReader(LeafReaderContext context) throws IOException { flush(); // strictly before the

Re: is SearchComponent the correct way?

2018-11-29 Thread John Thorhauer
So my understanding is that the DelegatingCollector.collect() method has access to a single doc. At that point I must choose to either call super.collect() or not. So this is the point at which I have to check redis for security data for a single doc and determine if this doc should be allowed

Re: is SearchComponent the correct way?

2018-11-16 Thread Mikhail Khludnev
On Tue, Nov 13, 2018 at 6:36 AM John Thorhauer wrote: > Mikhail, > > Where do I implement the buffering? I can not do it in then collect() > method. Please clarify why exactly? Notice my statement about one segment only. > I can not see how I can get access to what I need in the finish() >

Re: is SearchComponent the correct way?

2018-11-12 Thread John Thorhauer
Mikhail, Where do I implement the buffering? I can not do it in then collect() method. I can not see how I can get access to what I need in the finish() method. Thanks, John On Tue, Nov 6, 2018 at 12:44 PM Mikhail Khludnev wrote: > Not really. It expect to work segment by segment. So it can

Re: is SearchComponent the correct way?

2018-11-06 Thread Mikhail Khludnev
Not really. It expect to work segment by segment. So it can buffer all doc from one segment, hit redis and push all results into delegating collector. On Tue, Nov 6, 2018 at 8:29 PM John Thorhauer wrote: > Mikhail, > > Thanks for the suggestion. After looking over the PostFilter interface and

Re: is SearchComponent the correct way?

2018-11-06 Thread John Thorhauer
Mikhail, Thanks for the suggestion. After looking over the PostFilter interface and the DelegatingCollector, it appears that this would require me to query my outside datastore (redis) for security information once for each document. This would be a big performance issue. I would like to be

Re: is SearchComponent the correct way?

2018-11-06 Thread Mikhail Khludnev
It should be postfilter https://lucidworks.com/2017/11/27/caching-and-filters-and-post-filters/, I believe. On Tue, Nov 6, 2018 at 2:24 PM John Thorhauer wrote: > We have a need to check the results of a search against a set of security > lists that are maintained in a redis cache. I need to

is SearchComponent the correct way?

2018-11-06 Thread John Thorhauer
We have a need to check the results of a search against a set of security lists that are maintained in a redis cache. I need to be able to take each document that is returned for a search and check the redis cache to see if the document should be displayed or not. I am attempting to do this by