As discovered by Mostafa, when the passages=true traversal fixes up operators, it doesn't try to turn "counts" operators into "extents" operators, failing much later when it tries to turn the node tree into iterators.
Someone needs to get in and fix that traversal.
Following investigation with Mostafa and John.
The fix for this bug should be added in:
org.lemurproject.galago.core.retrieval.traversal.PassageRestrictionTraversal.afterNode
(around line 96)
Added a TODO there (in the hackathon code base). For reference, it was:
"Check for a counts node, if found, replace it with an extents node. However, keep in mind that not all indexes have extents so this may fail later. That said, this is a best-effort approach and if you don't have extents then passage retrieval doesn't make any sense anyway."
Also, additional investigation is needed to confirm the actual bug - currently wasn't able to reproduce