diff --git a/search_commands.go b/search_commands.go index b31baaa76..574528ff3 100644 --- a/search_commands.go +++ b/search_commands.go @@ -1652,21 +1652,24 @@ func parseFTSearch(data []interface{}, noContent, withScores, withPayloads, with } if i < len(data) { - fields, ok := data[i].([]interface{}) - if !ok { - return FTSearchResult{}, fmt.Errorf("invalid document fields format") - } - - for j := 0; j < len(fields); j += 2 { - key, ok := fields[j].(string) + if data[i] != nil { + fields, ok := data[i].([]interface{}) if !ok { - return FTSearchResult{}, fmt.Errorf("invalid field key format") + fmt.Println(data[i]) + return FTSearchResult{}, fmt.Errorf("invalid document fields format") } - value, ok := fields[j+1].(string) - if !ok { - return FTSearchResult{}, fmt.Errorf("invalid field value format") + + for j := 0; j < len(fields); j += 2 { + key, ok := fields[j].(string) + if !ok { + return FTSearchResult{}, fmt.Errorf("invalid field key format") + } + value, ok := fields[j+1].(string) + if !ok { + return FTSearchResult{}, fmt.Errorf("invalid field value format") + } + doc.Fields[key] = value } - doc.Fields[key] = value } i++ }