Skip to content

Commit

Permalink
Search Sept. 2024 Preview Release (Azure#41989)
Browse files Browse the repository at this point in the history
* Adding new swagger defs to README.md

* Swagger regen off new specs

* Adding preview service version

* Adding more VectorSearchTests

* Updating VectorSearchTests

* Updating SplitSkillEncoderModelName variable names

* Updating Swagger README.md

* Moving Speller to Implementation

* adjusting cspell.json

* Moving Speller to Implementation

* fix merge conflict

* Updating tests.yml to Preview cloud

* Prepare CHANGELOG.md

* adjusting spotbugs-exclude.xml

* adjusting spotbugs-exclude.xml

* Updating VectorSearchTests and spotbugs-exclude.xml

* updating tests.yml

* updating QueryDebugMode.java

* updating to PR

* updating to assets.json

* Prepare CHANGELOG.md

* Prepare Search Sept. 2024 preview release
  • Loading branch information
jairmyree authored and mssfang committed Oct 21, 2024
1 parent c558192 commit 45adb94
Show file tree
Hide file tree
Showing 90 changed files with 7,764 additions and 91 deletions.
5 changes: 4 additions & 1 deletion .vscode/cspell.json
Original file line number Diff line number Diff line change
Expand Up @@ -494,7 +494,10 @@
"AICLIP",
"TLARGE",
"TBASE",
"TGIANT"
"TGIANT",
"tiktoken",
"AITOKENS",
"Matryoshka"
]
},
{
Expand Down
17 changes: 13 additions & 4 deletions sdk/search/azure-search-documents/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,17 +1,26 @@
# Release History

## 11.8.0-beta.1 (Unreleased)
## 11.8.0-beta.1 (2024-09-23)

### Features Added

### Breaking Changes

### Bugs Fixed
- `VectorSearchCompression` now supports `truncationDimension` which allows for specifying the number of dimensions to
truncate vectors to.
- `SplitSkill` now supports tokenization.
- `VectorQuery` now supports `filterOverride` which allow for vector queries to override the broader SearchRequest.filter to allow for vector queries to have more specific configurations
- `DocumentDebugInfo` is extended with vector scores for the result.

### Other Changes

- Migrate Search test from local auth to Microsoft Entra authentication.

#### Dependency Updates

- Upgraded `azure-core` from `1.51.0` to version `1.52.0`.
- Upgraded `azure-core-http-netty` from `1.15.3` to version `1.15.4`.
- Upgraded `azure-core-serializer-json-jackson` from `1.5.` to version `1.5.1`.
- Upgraded `azure-json` from `1.2.0` to version `1.3.0`.

## 11.7.0 (2024-07-17)

### Features Added
Expand Down
2 changes: 1 addition & 1 deletion sdk/search/azure-search-documents/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ add the direct dependency to your project as follows.
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-search-documents</artifactId>
<version>11.7.0</version>
<version>11.8.0-beta.1</version>
</dependency>
```
[//]: # ({x-version-update-end})
Expand Down
2 changes: 1 addition & 1 deletion sdk/search/azure-search-documents/assets.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,5 @@
"AssetsRepo": "Azure/azure-sdk-assets",
"AssetsRepoPrefixPath": "java",
"TagPrefix": "java/search/azure-search-documents",
"Tag": "java/search/azure-search-documents_e37eaecdb9"
"Tag": "java/search/azure-search-documents_4ebd7ccc1a"
}
17 changes: 17 additions & 0 deletions sdk/search/azure-search-documents/checkstyle-suppressions.xml
Original file line number Diff line number Diff line change
Expand Up @@ -48,4 +48,21 @@
<suppress files="com.azure.search.documents.SearchIndexingBufferedAsyncSender.java" checks="com.azure.tools.checkstyle.checks.ServiceClientCheck" />
<suppress files="com.azure.search.documents.SearchIndexingBufferedSender.java" checks="com.azure.tools.checkstyle.checks.ServiceClientCheck" />
<suppress files="com.azure.search.documents.implementation.batching.SearchIndexingPublisher.java" checks="com.azure.tools.checkstyle.checks.ThrowFromClientLoggerCheck" />
<suppress files="com.azure.search.documents.indexes.models.BM25SimilarityAlgorithm.java" checks="com.azure.tools.checkstyle.checks.EnforceFinalFieldsCheck" />
<suppress files="com.azure.search.documents.indexes.models.ClassicSimilarityAlgorithm.java" checks="com.azure.tools.checkstyle.checks.EnforceFinalFieldsCheck" />
<suppress files="com.azure.search.documents.indexes.models.CognitiveServicesAccount.java" checks="com.azure.tools.checkstyle.checks.EnforceFinalFieldsCheck" />
<suppress files="com.azure.search.documents.indexes.models.DataChangeDetectionPolicy.java" checks="com.azure.tools.checkstyle.checks.EnforceFinalFieldsCheck" />
<suppress files="com.azure.search.documents.indexes.models.DataDeletionDetectionPolicy.java" checks="com.azure.tools.checkstyle.checks.EnforceFinalFieldsCheck" />
<suppress files="com.azure.search.documents.indexes.models.DefaultCognitiveServicesAccount.java" checks="com.azure.tools.checkstyle.checks.EnforceFinalFieldsCheck" />
<suppress files="com.azure.search.documents.indexes.models.BM25SimilarityAlgorithm.java" checks="com.azure.tools.checkstyle.checks.EnforceFinalFieldsCheck" />
<suppress files="com.azure.search.documents.indexes.models.NativeBlobSoftDeleteDeletionDetectionPolicy.java" checks="com.azure.tools.checkstyle.checks.EnforceFinalFieldsCheck" />
<suppress files="com.azure.search.documents.indexes.models.SearchIndexerDataIdentity.java" checks="com.azure.tools.checkstyle.checks.EnforceFinalFieldsCheck" />
<suppress files="com.azure.search.documents.indexes.models.SearchIndexerDataNoneIdentity.java" checks="com.azure.tools.checkstyle.checks.EnforceFinalFieldsCheck" />
<suppress files="com.azure.search.documents.indexes.models.SimilarityAlgorithm.java" checks="com.azure.tools.checkstyle.checks.EnforceFinalFieldsCheck" />
<suppress files="com.azure.search.documents.indexes.models.SoftDeleteColumnDeletionDetectionPolicy.java" checks="com.azure.tools.checkstyle.checks.EnforceFinalFieldsCheck" />
<suppress files="com.azure.search.documents.indexes.models.SqlIntegratedChangeTrackingPolicy.java" checks="com.azure.tools.checkstyle.checks.EnforceFinalFieldsCheck" />
<suppress files="com.azure.search.documents.models.VectorizableImageBinaryQuery.java" checks="com.azure.tools.checkstyle.checks.EnforceFinalFieldsCheck" />
<suppress files="com.azure.search.documents.models.VectorizableImageUrlQuery.java" checks="com.azure.tools.checkstyle.checks.EnforceFinalFieldsCheck" />
<suppress files="com.azure.search.documents.models.VectorQuery.java" checks="com.azure.tools.checkstyle.checks.EnforceFinalFieldsCheck" />
<suppress files="com.azure.search.documents.models.VectorThreshold.java" checks="com.azure.tools.checkstyle.checks.EnforceFinalFieldsCheck" />
</suppressions>
4 changes: 2 additions & 2 deletions sdk/search/azure-search-documents/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,8 @@
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<!-- Coverage used to be higher but between additional, unused generated client APIs and unused models' JSON serialization it has been lowered. -->
<!-- In the future this will be cleaned up and coverage should be increased again. -->
<jacoco.min.linecoverage>0.56</jacoco.min.linecoverage>
<jacoco.min.branchcoverage>0.47</jacoco.min.branchcoverage>
<jacoco.min.linecoverage>0.55</jacoco.min.linecoverage>
<jacoco.min.branchcoverage>0.46</jacoco.min.branchcoverage>
<!-- Configures the Java 9+ run to perform the required module exports, opens, and reads that are necessary for testing but shouldn't be part of the module-info. -->
<javaModulesSurefireArgLine>
--add-exports com.azure.core/com.azure.core.implementation.http=ALL-UNNAMED
Expand Down
9 changes: 9 additions & 0 deletions sdk/search/azure-search-documents/spotbugs-exclude.xml
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,15 @@
<Class name="com.azure.search.documents.SearchJavaDocCodeSnippets" />
</Or>
</Match>
<Match>
<Class name="com.azure.search.documents.models.QueryResultDocumentSubscores" />
<Bug pattern="EI_EXPOSE_REP" />
<Method name="getVectors" />
</Match>
<Match>
<Class name="com.azure.search.documents.indexes.models.AzureOpenAITokenizerParameters" />
<Bug pattern="EI_EXPOSE_REP,EI_EXPOSE_REP2" />
</Match>
<Match>
<Bug pattern="DMI_RANDOM_USED_ONLY_ONCE" />
<Or>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,12 @@ public enum SearchServiceVersion implements ServiceVersion {
/**
* {@code 2024-07-01} service version.
*/
V2024_07_01("2024-07-01");
V2024_07_01("2024-07-01"),

/**
* {@code 2024-09-01-preview} service version.
*/
V2024_09_01_PREVIEW("2024-09-01-preview");

private final String version;

Expand All @@ -44,6 +49,6 @@ public String getVersion() {
* @return The latest version supported by this client library.
*/
public static SearchServiceVersion getLatest() {
return V2024_07_01;
return V2024_09_01_PREVIEW;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,9 @@
package com.azure.search.documents.implementation.models;

import com.azure.core.annotation.Fluent;
import com.azure.search.documents.models.QueryDebugMode;
import com.azure.search.documents.models.QueryLanguage;
import com.azure.search.documents.models.QuerySpellerType;
import com.azure.search.documents.models.QueryType;
import com.azure.search.documents.models.ScoringStatistics;
import com.azure.search.documents.models.SearchMode;
Expand Down Expand Up @@ -174,6 +177,26 @@ public final class SearchOptions {
*/
private String semanticQuery;

/*
* Enables a debugging tool that can be used to further explore your search results.
*/
private QueryDebugMode debug;

/*
* The language of the query.
*/
private QueryLanguage queryLanguage;

/*
* Improve search recall by spell-correcting individual search query terms.
*/
private QuerySpellerType speller;

/*
* The list of field names used for semantic ranking.
*/
private List<String> semanticFields;

/**
* Creates an instance of SearchOptions class.
*/
Expand Down Expand Up @@ -744,6 +767,86 @@ public SearchOptions setSemanticQuery(String semanticQuery) {
return this;
}

/**
* Get the debug property: Enables a debugging tool that can be used to further explore your search results.
*
* @return the debug value.
*/
public QueryDebugMode getDebug() {
return this.debug;
}

/**
* Set the debug property: Enables a debugging tool that can be used to further explore your search results.
*
* @param debug the debug value to set.
* @return the SearchOptions object itself.
*/
public SearchOptions setDebug(QueryDebugMode debug) {
this.debug = debug;
return this;
}

/**
* Get the queryLanguage property: The language of the query.
*
* @return the queryLanguage value.
*/
public QueryLanguage getQueryLanguage() {
return this.queryLanguage;
}

/**
* Set the queryLanguage property: The language of the query.
*
* @param queryLanguage the queryLanguage value to set.
* @return the SearchOptions object itself.
*/
public SearchOptions setQueryLanguage(QueryLanguage queryLanguage) {
this.queryLanguage = queryLanguage;
return this;
}

/**
* Get the speller property: Improve search recall by spell-correcting individual search query terms.
*
* @return the speller value.
*/
public QuerySpellerType getSpeller() {
return this.speller;
}

/**
* Set the speller property: Improve search recall by spell-correcting individual search query terms.
*
* @param speller the speller value to set.
* @return the SearchOptions object itself.
*/
public SearchOptions setSpeller(QuerySpellerType speller) {
this.speller = speller;
return this;
}

/**
* Get the semanticFields property: The list of field names used for semantic ranking.
*
* @return the semanticFields value.
*/
public List<String> getSemanticFields() {
return this.semanticFields;
}

/**
* Set the semanticFields property: The list of field names used for semantic ranking.
*
* @param semanticFields the semanticFields value to set.
* @return the SearchOptions object itself.
*/
public SearchOptions setSemanticFields(List<String> semanticFields) {
this.semanticFields = semanticFields;
return this;
}

/**
* Set the facets property: The list of facet expressions to apply to the search query. Each facet expression
* contains a field name, optionally followed by a comma-separated list of name:value pairs.
Expand Down
Loading

0 comments on commit 45adb94

Please sign in to comment.