rmuir commented on issue #12176:
URL: https://github.com/apache/lucene/issues/12176#issuecomment-1460989224

   so, one thing is, Terms.intersect() works across a single field.
   and you definitely have to sort before adding terms to DaciukMihov (but then 
it works in linear time).
   
   Sounds like you are currently just "blasting" and not using the `seekCeil` 
aka "ping-pong intersection" that TermInSetQuery does.
   
   The advantage Terms.intersect has over such a "ping-pong" intersection, is 
that the terms dictionary implementation can intersect the list of terms 
faster... without hitting the disk as much. I think it makes better use of 
blocktree's index structure. IIRC it basically made term intersection for a lot 
of queries 2x faster than "ping-pong" because of this.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org
For additional commands, e-mail: issues-h...@lucene.apache.org

Reply via email to