Skip to content

Commit 10cde20

Browse files
authored
.Net: Rename VectorSearchOptions.NewFilter to Filter (#10790)
And the obsoleted Filter to OldFilter. Continues #10273.
1 parent 3a36d40 commit 10cde20

File tree

40 files changed

+80
-80
lines changed

40 files changed

+80
-80
lines changed

dotnet/samples/Concepts/Memory/VectorStore_VectorSearch_MultiStore_Common.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ public async Task IngestDataAndSearchAsync<TKey>(string collectionName, Func<TKe
7070
// Search the collection using a vector search with pre-filtering.
7171
searchString = "What is Retrieval Augmented Generation";
7272
searchVector = await textEmbeddingGenerationService.GenerateEmbeddingAsync(searchString);
73-
searchResult = await collection.VectorizedSearchAsync(searchVector, new() { Top = 3, NewFilter = g => g.Category == "External Definitions" });
73+
searchResult = await collection.VectorizedSearchAsync(searchVector, new() { Top = 3, Filter = g => g.Category == "External Definitions" });
7474
resultRecords = await searchResult.Results.ToListAsync();
7575

7676
output.WriteLine("Search string: " + searchString);

dotnet/samples/Concepts/Memory/VectorStore_VectorSearch_Simple.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ public async Task ExampleAsync()
7070
// Search the collection using a vector search with pre-filtering.
7171
searchString = "What is Retrieval Augmented Generation";
7272
searchVector = await textEmbeddingGenerationService.GenerateEmbeddingAsync(searchString);
73-
searchResult = await collection.VectorizedSearchAsync(searchVector, new() { Top = 3, NewFilter = g => g.Category == "External Definitions" });
73+
searchResult = await collection.VectorizedSearchAsync(searchVector, new() { Top = 3, Filter = g => g.Category == "External Definitions" });
7474
resultRecords = await searchResult.Results.ToListAsync();
7575

7676
Console.WriteLine("Search string: " + searchString);

dotnet/samples/GettingStartedWithVectorStores/Step2_Vector_Search.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ public async Task SearchAnInMemoryVectorStoreWithFilteringAsync()
7171
new()
7272
{
7373
Top = 1,
74-
NewFilter = g => g.Category == "AI"
74+
Filter = g => g.Category == "AI"
7575
});
7676
var searchResultItems = await searchResult.Results.ToListAsync();
7777

dotnet/src/Connectors/Connectors.AzureAISearch.UnitTests/AzureAISearchVectorStoreRecordCollectionTests.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -574,7 +574,7 @@ public async Task CanSearchWithVectorAndFilterAsync()
574574
{
575575
Top = 5,
576576
Skip = 3,
577-
Filter = filter,
577+
OldFilter = filter,
578578
VectorPropertyName = nameof(MultiPropsModel.Vector1)
579579
},
580580
this._testCancellationToken);
@@ -616,7 +616,7 @@ public async Task CanSearchWithTextAndFilterAsync()
616616
{
617617
Top = 5,
618618
Skip = 3,
619-
Filter = filter,
619+
OldFilter = filter,
620620
VectorPropertyName = nameof(MultiPropsModel.Vector1)
621621
},
622622
this._testCancellationToken);

dotnet/src/Connectors/Connectors.AzureCosmosDBNoSQL.UnitTests/AzureCosmosDBNoSQLVectorStoreCollectionQueryBuilderTests.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ public void BuildSearchQueryByDefaultReturnsValidQueryDefinition()
3737
.EqualTo("TestProperty2", "test-value-2")
3838
.AnyTagEqualTo("TestProperty3", "test-value-3");
3939

40-
var searchOptions = new VectorSearchOptions<DummyType> { Filter = filter, Skip = 5, Top = 10 };
40+
var searchOptions = new VectorSearchOptions<DummyType> { OldFilter = filter, Skip = 5, Top = 10 };
4141

4242
// Act
4343
var queryDefinition = AzureCosmosDBNoSQLVectorStoreCollectionQueryBuilder.BuildSearchQuery(
@@ -86,7 +86,7 @@ public void BuildSearchQueryWithoutOffsetReturnsQueryDefinitionWithTopParameter(
8686
.EqualTo("TestProperty2", "test-value-2")
8787
.AnyTagEqualTo("TestProperty3", "test-value-3");
8888

89-
var searchOptions = new VectorSearchOptions<DummyType> { Filter = filter, Top = 10 };
89+
var searchOptions = new VectorSearchOptions<DummyType> { OldFilter = filter, Top = 10 };
9090

9191
// Act
9292
var queryDefinition = AzureCosmosDBNoSQLVectorStoreCollectionQueryBuilder.BuildSearchQuery(
@@ -131,7 +131,7 @@ public void BuildSearchQueryWithInvalidFilterThrowsException()
131131

132132
var filter = new VectorSearchFilter().EqualTo("non-existent-property", "test-value-2");
133133

134-
var searchOptions = new VectorSearchOptions<DummyType> { Filter = filter, Skip = 5, Top = 10 };
134+
var searchOptions = new VectorSearchOptions<DummyType> { OldFilter = filter, Skip = 5, Top = 10 };
135135

136136
// Act & Assert
137137
Assert.Throws<InvalidOperationException>(() =>

dotnet/src/Connectors/Connectors.InMemory.UnitTests/InMemoryVectorStoreRecordCollectionTests.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -338,7 +338,7 @@ public async Task CanSearchWithVectorAndFilterAsync<TKey>(bool useDefinition, TK
338338
var filter = filterType == "Equality" ? new VectorSearchFilter().EqualTo("Data", $"data {testKey2}") : new VectorSearchFilter().AnyTagEqualTo("Tags", $"tag {testKey2}");
339339
var actual = await sut.VectorizedSearchAsync(
340340
new ReadOnlyMemory<float>(new float[] { 1, 1, 1, 1 }),
341-
new() { IncludeVectors = true, Filter = filter, IncludeTotalCount = true },
341+
new() { IncludeVectors = true, OldFilter = filter, IncludeTotalCount = true },
342342
this._testCancellationToken);
343343

344344
// Assert

dotnet/src/Connectors/Connectors.Memory.AzureAISearch/AzureAISearchVectorStoreRecordCollection.cs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -340,9 +340,9 @@ public virtual Task<VectorSearchResults<TRecord>> VectorizedSearchAsync<TVector>
340340
// Build filter object.
341341
var filter = internalOptions switch
342342
{
343-
{ Filter: not null, NewFilter: not null } => throw new ArgumentException("Either Filter or NewFilter can be specified, but not both"),
344-
{ Filter: VectorSearchFilter legacyFilter } => AzureAISearchVectorStoreCollectionSearchMapping.BuildLegacyFilterString(legacyFilter, this._propertyReader.JsonPropertyNamesMap),
345-
{ NewFilter: Expression<Func<TRecord, bool>> newFilter } => new AzureAISearchFilterTranslator().Translate(newFilter, this._propertyReader.StoragePropertyNamesMap),
343+
{ OldFilter: not null, Filter: not null } => throw new ArgumentException("Either Filter or OldFilter can be specified, but not both"),
344+
{ OldFilter: VectorSearchFilter legacyFilter } => AzureAISearchVectorStoreCollectionSearchMapping.BuildLegacyFilterString(legacyFilter, this._propertyReader.JsonPropertyNamesMap),
345+
{ Filter: Expression<Func<TRecord, bool>> newFilter } => new AzureAISearchFilterTranslator().Translate(newFilter, this._propertyReader.StoragePropertyNamesMap),
346346
_ => null
347347
};
348348
#pragma warning restore CS0618
@@ -395,9 +395,9 @@ public virtual Task<VectorSearchResults<TRecord>> VectorizableTextSearchAsync(st
395395
// Build filter object.
396396
var filter = internalOptions switch
397397
{
398-
{ Filter: not null, NewFilter: not null } => throw new ArgumentException("Either Filter or NewFilter can be specified, but not both"),
399-
{ Filter: VectorSearchFilter legacyFilter } => AzureAISearchVectorStoreCollectionSearchMapping.BuildLegacyFilterString(legacyFilter, this._propertyReader.JsonPropertyNamesMap),
400-
{ NewFilter: Expression<Func<TRecord, bool>> newFilter } => new AzureAISearchFilterTranslator().Translate(newFilter, this._propertyReader.StoragePropertyNamesMap),
398+
{ OldFilter: not null, Filter: not null } => throw new ArgumentException("Either Filter or OldFilter can be specified, but not both"),
399+
{ OldFilter: VectorSearchFilter legacyFilter } => AzureAISearchVectorStoreCollectionSearchMapping.BuildLegacyFilterString(legacyFilter, this._propertyReader.JsonPropertyNamesMap),
400+
{ Filter: Expression<Func<TRecord, bool>> newFilter } => new AzureAISearchFilterTranslator().Translate(newFilter, this._propertyReader.StoragePropertyNamesMap),
401401
_ => null
402402
};
403403
#pragma warning restore CS0618

dotnet/src/Connectors/Connectors.Memory.AzureCosmosDBMongoDB/AzureCosmosDBMongoDBVectorStoreRecordCollection.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -275,11 +275,11 @@ public virtual async Task<VectorSearchResults<TRecord>> VectorizedSearchAsync<TV
275275
#pragma warning disable CS0618 // VectorSearchFilter is obsolete
276276
var filter = searchOptions switch
277277
{
278-
{ Filter: not null, NewFilter: not null } => throw new ArgumentException("Either Filter or NewFilter can be specified, but not both"),
279-
{ Filter: VectorSearchFilter legacyFilter } => AzureCosmosDBMongoDBVectorStoreCollectionSearchMapping.BuildFilter(
278+
{ OldFilter: not null, Filter: not null } => throw new ArgumentException("Either Filter or OldFilter can be specified, but not both"),
279+
{ OldFilter: VectorSearchFilter legacyFilter } => AzureCosmosDBMongoDBVectorStoreCollectionSearchMapping.BuildFilter(
280280
legacyFilter,
281281
this._storagePropertyNames),
282-
{ NewFilter: Expression<Func<TRecord, bool>> newFilter } => new AzureCosmosDBMongoDBFilterTranslator().Translate(newFilter, this._storagePropertyNames),
282+
{ Filter: Expression<Func<TRecord, bool>> newFilter } => new AzureCosmosDBMongoDBFilterTranslator().Translate(newFilter, this._storagePropertyNames),
283283
_ => null
284284
};
285285
#pragma warning restore CS0618

dotnet/src/Connectors/Connectors.Memory.AzureCosmosDBNoSQL/AzureCosmosDBNoSQLVectorStoreCollectionQueryBuilder.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -49,9 +49,9 @@ public static QueryDefinition BuildSearchQuery<TVector, TRecord>(
4949
// Build filter object.
5050
var (whereClause, filterParameters) = searchOptions switch
5151
{
52-
{ Filter: not null, NewFilter: not null } => throw new ArgumentException("Either Filter or NewFilter can be specified, but not both"),
53-
{ Filter: VectorSearchFilter legacyFilter } => BuildSearchFilter(legacyFilter, storagePropertyNames),
54-
{ NewFilter: Expression<Func<TRecord, bool>> newFilter } => new AzureCosmosDBNoSqlFilterTranslator().Translate(newFilter, storagePropertyNames),
52+
{ OldFilter: not null, Filter: not null } => throw new ArgumentException("Either Filter or OldFilter can be specified, but not both"),
53+
{ OldFilter: VectorSearchFilter legacyFilter } => BuildSearchFilter(legacyFilter, storagePropertyNames),
54+
{ Filter: Expression<Func<TRecord, bool>> newFilter } => new AzureCosmosDBNoSqlFilterTranslator().Translate(newFilter, storagePropertyNames),
5555
_ => (null, [])
5656
};
5757
#pragma warning restore CS0618 // VectorSearchFilter is obsolete

dotnet/src/Connectors/Connectors.Memory.InMemory/InMemoryVectorStoreRecordCollection.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -240,9 +240,9 @@ public async Task<VectorSearchResults<TRecord>> VectorizedSearchAsync<TVector>(T
240240
var allValues = this.GetCollectionDictionary().Values.Cast<TRecord>();
241241
var filteredRecords = internalOptions switch
242242
{
243-
{ Filter: not null, NewFilter: not null } => throw new ArgumentException("Either Filter or NewFilter can be specified, but not both"),
244-
{ Filter: VectorSearchFilter legacyFilter } => InMemoryVectorStoreCollectionSearchMapping.FilterRecords(legacyFilter, allValues),
245-
{ NewFilter: Expression<Func<TRecord, bool>> newFilter } => allValues.AsQueryable().Where(newFilter),
243+
{ OldFilter: not null, Filter: not null } => throw new ArgumentException("Either Filter or OldFilter can be specified, but not both"),
244+
{ OldFilter: VectorSearchFilter legacyFilter } => InMemoryVectorStoreCollectionSearchMapping.FilterRecords(legacyFilter, allValues),
245+
{ Filter: Expression<Func<TRecord, bool>> newFilter } => allValues.AsQueryable().Where(newFilter),
246246
_ => allValues
247247
};
248248
#pragma warning restore CS0618 // VectorSearchFilter is obsolete

0 commit comments

Comments
 (0)