fix: bulk insert should use function runner's input field list instead schema's (#41560)

relate: https://github.com/milvus-io/milvus/issues/41213

Signed-off-by: aoiasd <zhicheng.yue@zilliz.com>
This commit is contained in:
aoiasd 2025-05-12 19:14:56 +08:00 committed by GitHub
parent 476984c53e
commit 9166c77a72
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -228,13 +228,17 @@ func RunBm25Function(task *ImportTask, data *storage.InsertData) error {
if err != nil {
return err
}
if runner == nil {
continue
}
inputDatas := make([]any, 0, len(fn.InputFieldIds))
for _, inputFieldID := range fn.InputFieldIds {
inputFieldIDs := lo.Map(runner.GetInputFields(), func(field *schemapb.FieldSchema, _ int) int64 { return field.GetFieldID() })
inputDatas := make([]any, 0, len(inputFieldIDs))
for _, inputFieldID := range inputFieldIDs {
inputDatas = append(inputDatas, data.Data[inputFieldID].GetDataRows())
}
outputFieldData, err := runner.BatchRun(inputDatas...)
if err != nil {
return err