Tim-Brooks opened a new pull request, #16116:
URL: https://github.com/apache/lucene/pull/16116

   BinaryColumns that are DOCS or DOCS_AND_FREQS, omitNorms, no TVs, and
   not stored are now inverted directly in the column-oriented pass via
   processBinaryColumnInvert, walking each column's cursor sparsely. When
   any row-mode column is present in the batch, eligible columns are
   demoted to the row pass so all inverted fields share a single
   termsHash frame per doc.
   
   processBinaryColumnInvert skips termsHash.startDocument/finishDocument:
   those drive TermVectorsConsumer's segment-scoped lastDocID, and framing
   the same batch doc from multiple eligible columns would break its
   monotonicity invariant. Eligibility guarantees doVectors=false, so TV
   state is never touched; unframed docs are reconciled by
   TermVectorsConsumer.fill(). Exception handling mirrors processDocument:
   pf.finish runs only if the first pf.invert returned normally.
   
   The validation pass caches each column's PerField in docFields[] by
   original column position; the row pass tracks original indices in
   rowPfIndices[] instead of overwriting docFields[], so both passes can
   reuse the cache without a second hash lookup.


-- 
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: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to