diff --git a/pkg/privatefunctions/milvus/milvus.go b/pkg/privatefunctions/milvus/milvus.go index 1f4bd1e..0466e2a 100644 --- a/pkg/privatefunctions/milvus/milvus.go +++ b/pkg/privatefunctions/milvus/milvus.go @@ -21,7 +21,7 @@ import ( // Global variables var ( - CallsBatchSize = 10000 + CallsBatchSize = 500 DumpBatchSize = 10000 MilvusConnectionTimeout = 5 * time.Second MilvusConnectionRetries = 40 @@ -934,6 +934,13 @@ func createStringFilterExpression(filterType string, filter []string) (filterExp } }() + for i := range filter { + // Escape double backslashes in the filter value. + filter[i] = strings.ReplaceAll(filter[i], "\\", "\\\\") + // Escape single quotes in the filter value + filter[i] = strings.ReplaceAll(filter[i], "'", "\\'") + } + filterExpression = fmt.Sprintf("%s in ['%s'", filterType, filter[0]) if len(filter) > 1 { filterExpression += fmt.Sprintf(", '%s'", strings.Join(filter[1:], "', '"))