Hi all,

I am implementing a PostFilter following this article
https://lucidworks.com/blog/custom-security-filtering-in-solr/

We have a requirement to call the external system only once for all the 
documents (max 200) so below is my change:

-don't call super.collect(docId) in the collect method of the PostFilter but 
store all docIds in an internal map

-call the external system in the finish() then call super.collect(docId) for 
all the docs that pass the external filtering

The problem I have: docId exceeds maxDoc "(docID must be >= 0 and < 
maxDoc=100000 (got docID=123456)"

I suspect I am storing local docIds and when Reader is changed, docBase is also 
changed so the global docId, which I believe is constructed in super.collect() 
using the parameter docId and docBase, becomes incorrect.

Could anyone point me to the right direction?

Thanks,

-Ha

Reply via email to