mccullocht commented on issue #14758:
URL: https://github.com/apache/lucene/issues/14758#issuecomment-4290418224

   @mikemccand I had started playing with the idea of linking fields a doc 
values field for partitioning but don't yet have something useful enough to 
share as a strawman implementation, but I have some observations:
   * `Sorted{,Set}DocValues` does feel like the right data structure because it 
handles a lot of the grouping aspects that are needed here.
   * The KNN writer can consume DocValues with a bit of plumbing. In the 
ingestion path it forces us to wait until the segment is flushed to construct 
the graph. In the merge path it feels like we're duplicating at least some of 
the work required to merge DocValues, although I guess if we introduced some 
constraints on field ordering in merge we could use a merged view.
   * In addition to a graph per doc value we also need a secondary map that 
either maps docids <-> vector ordinals, or maps global vector ordinals <-> 
local vector ordinals. This is probably true in any solution.
   * The search interface would still need to take `Optional<BytesRef>` or 
similar to choose the right graph.
   
   Maybe the right solution is to compose it the other way -- extend the 
interface to accept labels at ingestion and query time and use DocValues 
underneath?


-- 
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