@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
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
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()
>
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
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
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
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
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