wangzhigang1999 opened a new issue, #9552: URL: https://github.com/apache/paimon/issues/9552
### Search before asking - [x] I searched in the [issues](https://github.com/apache/paimon/issues) and found nothing similar. ### Motivation `MultimodalTable.search()` and `search_vectors()` currently infer a vector column only when the table schema contains one fixed-size vector column. A table with `image_embedding VECTOR<FLOAT, 512>` and `text_embedding VECTOR<FLOAT, 128>` requires callers to pass `column` even though a 128-dimensional query identifies `text_embedding` without ambiguity. The API also accepts explicit columns with the wrong type or dimension until a lower layer executes the query. Batch search does not reject query vectors with different dimensions at the API boundary. These cases produce later or less actionable errors. ### Solution Use the query vector dimension when resolving a vector column: - Match the query dimension against `FixedSizeListType.list_size`. - Select the column when exactly one vector field has that dimension. - Require `column` when multiple fields have the same dimension. - Validate explicit columns for existence, fixed-size vector type, and dimension. - Require every vector passed to `search_vectors()` to have the same dimension. The error for a missing match should include the available vector columns and their dimensions. ### Anything else? This change only affects `MultimodalTable.search()` and `search_vectors()`. It does not change hybrid search, index creation, storage, or lower-level vector search builders. ### Are you willing to submit a PR? - [x] I'm willing to submit a PR! -- 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]
