The advanced filters described in this document: https://milvus.io/docs/array_data_type.md (ARRAY_CONTAINS, ARRAY_CONTAINS_ALL, ARRAY_CONTAINS_ANY, and ARRAY_LENGTH) require a filter field in the arguments of client.search or client.query. I don’t see this filter argument in the search and query source code.
Search(ctx context.Context, collName string, partitions []string,
expr string, outputFields []string, vectors []entity.Vector, vectorField string, metricType entity.MetricType, topK int, sp entity.SearchParam, opts ...SearchQueryOptionFunc) ([]SearchResult, error)
Query(ctx context.Context, collectionName string, partitionNames []string, expr string, outputFields []string, opts ...SearchQueryOptionFunc) (ResultSet, error)
I see we can add them as part of expr but they do not work as intended. e.g ARRAY_CONTAINS_ANY(x, y) doesn’t return true for rows where some elements in x exist in y. Though it works when y only has a single element.