jackylee-ch opened a new pull request, #908:
URL: https://github.com/apache/paimon-rust/pull/908

   `ensure_loaded` started from `index_meta.options()` and then wrote the 
table's stripped `lumina.*` options over it, so a table option beat the value 
the index was built with.
   
   The build side rewrites some of these keys deliberately: 
`validate_and_cap_pq_m` caps `encoding.pq.m` at the column's dimension and 
persists the capped value. So `'lumina.encoding.pq.m' = '64'` on a 32-dimension 
column built the index with m=32 and opened the searcher with m=64.
   
   Java's order is table, then `indexMeta.options()`, then per-query 
(`LuminaVectorGlobalIndexReader:377-378`, `:253-255`). Rust had no query layer 
left at the reader — both read paths fold the per-query map into the table 
options first — so inverting the merge alone would demote per-query options 
too. `search_options_for_query` puts them back on top.
   
   A table-level `diskann.search.beam_width` no longer wins: 
`build_lumina_options` records it in the metadata, as Java's writer does. A 
query option still overrides it.
   


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

Reply via email to