fix: highlighter return error when search return empty result (#46107)

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

Signed-off-by: aoiasd <zhicheng.yue@zilliz.com>
This commit is contained in:
aoiasd 2025-12-05 14:23:10 +08:00 committed by GitHub
parent 354fe9c9d2
commit d8c9d15c07
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -295,7 +295,12 @@ func newLexicalHighlightOperator(t *searchTask, tasks []*highlightTask) (operato
func (op *lexicalHighlightOperator) run(ctx context.Context, span trace.Span, inputs ...any) ([]any, error) {
result := inputs[0].(*milvuspb.SearchResults)
datas := result.Results.GetFieldsData()
datas := result.GetResults().GetFieldsData()
// skip highlight if result is empty
if len(datas) == 0 {
return []any{result}, nil
}
req := &querypb.GetHighlightRequest{
Topks: result.GetResults().GetTopks(),
Tasks: lo.Map(op.tasks, func(task *highlightTask, _ int) *querypb.HighlightTask { return task.HighlightTask }),