Correct, the DocumentExtractor contract expects the absolute index. It
looks like a bug in how ISPN's Query module use it.

Emmanuel

On Fri 2012-10-26 16:09, Ales Justin wrote:
> After searching for the needed in haystack, I finally found the problem.
> (not to mention complete lack of tests for this *basic* feature ...)
> 
> The problem is with queries with offset when you iterate over them -- offset 
> is never taken into account.
> 
> There are two possible fixes -- as I see them.
> 
> 1) In HS:
> 
> DocumentExtractorImpl::extract takes into account "firstIndex"
> 
>       public EntityInfo extract(int scoreDocIndex) throws IOException {
>               int docId = queryHits.docId( firstIndex + scoreDocIndex );
>               Document document = extractDocument( fistIndex + scoreDocIndex 
> );
> 
> 2) LazyIterator in Infinispan-Query applies the offset:
> 
>    protected EntityInfo loadEntityInfo(int index) {
>       try {
>          return extractor.extract(extractor.getFirstIndex() + index);
> 
> ---
> 
> Since those methods are exposed in DocumentExtractor,
> I would guess they were meant for external code to use them,
> instead of putting this logic into extractor itself.
> 
> So, I'll go ahead and provide a patch for (2).
> 
> -Ales
> 
_______________________________________________
infinispan-dev mailing list
infinispan-dev@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/infinispan-dev

Reply via email to