Skip to content

Commit 471a3a7

Browse files
authored
Split ServiceClient to IndexClient and IndexerClient (#11475)
1 parent e3c0559 commit 471a3a7

File tree

58 files changed

+2241
-1452
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

58 files changed

+2241
-1452
lines changed

sdk/search/azure-search-documents/CHANGELOG.md

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,13 @@
11
# Release History
22

33
## 1.0.0-beta.4 (Unreleased)
4-
4+
- Split `SearchServiceClient` into two clients `SearchIndexClient`, `SearchIndexerClient`.
5+
- Split `SearchServiceAsyncClient` into two clients `SearchIndexAsyncClient`, `SearchIndexerAsyncClient`.
6+
- Added `SearchIndexClientBuilder` to build sync client `SearchIndexClient` and async client `SearchIndexAsyncClient`.
7+
- Added `SearchIndexerClientBuilder` to build sync client `SearchIndexerClient` and async client `SearchIndexerAsyncClient`.
8+
- Removed `SearchServiceClientBuilder`.
9+
- Renamed `SearchIndexClient` to `SearchClient` and `SearchIndexAsyncClient` to `SearchAsyncClient`.
10+
- Put all models used `SearchIndexClient` and `SearchIndexerClient` (same for async clients) under `com.azure.search.documents.indexes`.
511

612
## 1.0.0-beta.3 (2020-05-05)
713
- Replaced `isRetrievable` API with `isHidden`, parameter name changed from `retrievable` to `hidden`.

sdk/search/azure-search-documents/README.md

Lines changed: 48 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -44,20 +44,20 @@ and [admin key](https://docs.microsoft.com/en-us/azure/search/search-security-ap
4444

4545
<!-- embedme ./src/samples/java/com/azure/search/documents/ReadmeSamples.java#L40-L43 -->
4646
```Java
47-
SearchServiceClient searchServiceClient = new SearchServiceClientBuilder()
48-
.endpoint(endpoint)
49-
.credential(new AzureKeyCredential(adminKey))
50-
.buildClient();
47+
private SearchClient searchClient = new SearchClientBuilder().buildClient();
48+
49+
public void createSearchClient() {
50+
SearchIndexClient searchIndexClient = new SearchIndexClientBuilder()
5151
```
5252

5353
or
5454

5555
<!-- embedme ./src/samples/java/com/azure/search/documents/ReadmeSamples.java#L47-L50 -->
5656
```Java
57-
SearchServiceAsyncClient searchServiceAsyncClient = new SearchServiceClientBuilder()
58-
.endpoint(endpoint)
59-
.credential(new AzureKeyCredential(adminKey))
60-
.buildAsyncClient();
57+
}
58+
59+
public void createAsyncSearchClient() {
60+
SearchIndexAsyncClient searchIndexAsyncClient = new SearchIndexClientBuilder()
6161
```
6262

6363
#### Create a SearchIndexClient
@@ -69,22 +69,22 @@ Note that you will need an admin key to index documents (query keys only work fo
6969

7070
<!-- embedme ./src/samples/java/com/azure/search/documents/ReadmeSamples.java#L54-L58 -->
7171
```Java
72-
SearchIndexClient searchIndexClient = new SearchIndexClientBuilder()
73-
.endpoint(endpoint)
74-
.credential(new AzureKeyCredential(apiKey))
75-
.indexName(indexName)
76-
.buildClient();
72+
}
73+
74+
public void createIndexClient() {
75+
SearchClient searchClient = new SearchClientBuilder()
76+
.endpoint(endpoint)
7777
```
7878

7979
or
8080

8181
<!-- embedme ./src/samples/java/com/azure/search/documents/ReadmeSamples.java#L62-L66 -->
8282
```Java
83-
SearchIndexAsyncClient searchIndexAsyncClient = new SearchIndexClientBuilder()
84-
.endpoint(endpoint)
85-
.credential(new AzureKeyCredential(apiKey))
86-
.indexName(indexName)
87-
.buildAsyncClient();
83+
}
84+
85+
public void createAsyncIndexClient() {
86+
SearchAsyncClient searchAsyncClient = new SearchClientBuilder()
87+
.endpoint(endpoint)
8888
```
8989

9090
## Key concepts
@@ -106,54 +106,54 @@ There are several types of operations that can be executed against the service:
106106
107107
### Create an index
108108
109-
Create Index using `searchIndexClient` instantiated in [Create a SearchServiceClient](#create-a-searchserviceclient)
109+
Create Index using `searchClient` instantiated in [Create a SearchServiceClient](#create-a-searchserviceclient)
110110
111111
<!-- embedme ./src/samples/java/com/azure/search/documents/ReadmeSamples.java#L96-L107 -->
112112
```java
113-
SearchIndex newIndex = new SearchIndex()
114-
.setName("index_name")
115-
.setFields(
116-
Arrays.asList(new SearchField()
117-
.setName("Name")
118-
.setType(SearchFieldDataType.STRING)
119-
.setKey(Boolean.TRUE),
120-
new SearchField()
121-
.setName("Cuisine")
122-
.setType(SearchFieldDataType.STRING)));
123-
// Create index.
124-
searchServiceClient.createIndex(newIndex);
113+
}
114+
115+
public void createIndexWithSyncClient() {
116+
SearchIndex newIndex = new SearchIndex()
117+
.setName("index_name")
118+
.setFields(
119+
Arrays.asList(new SearchField()
120+
.setName("Name")
121+
.setType(SearchFieldDataType.STRING)
122+
.setKey(Boolean.TRUE),
123+
new SearchField()
124+
.setName("Cuisine")
125125
```
126126
### Upload a Document
127127
128-
Upload hotel document to Search Index using `searchIndexClient` instantiated [Create a SearchIndexClient](#create-a-searchindexclient)
128+
Upload hotel document to Search Index using `searchClient` instantiated [Create a SearchIndexClient](#create-a-searchindexclient)
129129
130130
<!-- embedme ./src/samples/java/com/azure/search/documents/ReadmeSamples.java#L111-L116 -->
131131
```java
132-
List<Hotel> hotels = new ArrayList<>();
133-
hotels.add(new Hotel().setHotelId("100"));
134-
hotels.add(new Hotel().setHotelId("200"));
135-
hotels.add(new Hotel().setHotelId("300"));
136-
// Upload hotel.
137-
searchIndexClient.uploadDocuments(hotels);
132+
}
133+
134+
public void uploadDocumentWithSyncClient() {
135+
List<Hotel> hotels = new ArrayList<>();
136+
hotels.add(new Hotel().setHotelId("100"));
137+
hotels.add(new Hotel().setHotelId("200"));
138138
```
139139
140140
### Search on hotel name
141141
142-
Search hotel using keyword using `searchIndexClient` instantiated in [Create a SearchIndexClient](#create-a-searchindexclient)
142+
Search hotel using keyword using `searchClient` instantiated in [Create a SearchIndexClient](#create-a-searchindexclient)
143143
144144
<!-- embedme ./src/samples/java/com/azure/search/documents/ReadmeSamples.java#L120-L130 -->
145145
```java
146-
// Perform a text-based search
147-
for (SearchResult result : searchIndexClient.search("luxury hotel",
148-
new SearchOptions(), new RequestOptions(), Context.NONE)) {
149146
150-
// Each result is a dynamic Map
151-
SearchDocument doc = result.getDocument();
152-
String hotelName = (String) doc.get("HotelName");
153-
Double rating = (Double) doc.get("Rating");
154147
155-
System.out.printf("%s: %s%n", hotelName, rating);
156-
}
148+
oid searchTextWithSyncClient() {
149+
erform a text-based search
150+
(SearchResult result : searchClient.search("luxury hotel",
151+
new SearchOptions(), new RequestOptions(), Context.NONE)) {
152+
153+
// Each result is a dynamic Map
154+
SearchDocument doc = result.getDocument();
155+
String hotelName = (String) doc.get("HotelName");
156+
Double rating = (Double) doc.get("Rating");
157157
```
158158
159159
- Samples are explained in detail [here][samples_readme].

sdk/search/azure-search-documents/pom.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,7 @@
109109
--add-exports com.azure.core/com.azure.core.implementation.http=ALL-UNNAMED
110110
--add-opens com.azure.core/com.azure.core.util=ALL-UNNAMED
111111
--add-opens com.azure.search.documents/com.azure.search.documents=ALL-UNNAMED
112+
--add-opens com.azure.search.documents/com.azure.search.documents.indexes=ALL-UNNAMED
112113
--add-opens com.azure.search.documents/com.azure.search.documents.models=ALL-UNNAMED
113114
--add-opens com.azure.search.documents/com.azure.search.documents.implementation=ALL-UNNAMED
114115
--add-opens com.azure.search.documents/com.azure.search.documents.implementation.models=ALL-UNNAMED
Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -58,8 +58,8 @@
5858
/**
5959
* Cognitive Search Asynchronous Client to query an index and upload, merge, or delete documents
6060
*/
61-
@ServiceClient(builder = SearchIndexClientBuilder.class, isAsync = true)
62-
public final class SearchIndexAsyncClient {
61+
@ServiceClient(builder = SearchClientBuilder.class, isAsync = true)
62+
public final class SearchAsyncClient {
6363
/*
6464
* Representation of the Multi-Status HTTP response code.
6565
*/
@@ -88,7 +88,7 @@ public final class SearchIndexAsyncClient {
8888
/**
8989
* The logger to be used
9090
*/
91-
private final ClientLogger logger = new ClientLogger(SearchIndexAsyncClient.class);
91+
private final ClientLogger logger = new ClientLogger(SearchAsyncClient.class);
9292

9393
/**
9494
* The underlying AutoRest client used to interact with the Azure Cognitive Search service
@@ -101,9 +101,9 @@ public final class SearchIndexAsyncClient {
101101
private final HttpPipeline httpPipeline;
102102

103103
/**
104-
* Package private constructor to be used by {@link SearchIndexClientBuilder}
104+
* Package private constructor to be used by {@link SearchClientBuilder}
105105
*/
106-
SearchIndexAsyncClient(String endpoint, String indexName, SearchServiceVersion serviceVersion,
106+
SearchAsyncClient(String endpoint, String indexName, SearchServiceVersion serviceVersion,
107107
HttpPipeline httpPipeline) {
108108

109109
this.endpoint = endpoint;
Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -27,18 +27,18 @@
2727
/**
2828
* Cognitive Search Synchronous Client to query an index and upload, merge, or delete documents
2929
*/
30-
@ServiceClient(builder = SearchIndexClientBuilder.class)
31-
public final class SearchIndexClient {
30+
@ServiceClient(builder = SearchClientBuilder.class)
31+
public final class SearchClient {
3232

33-
private final SearchIndexAsyncClient asyncClient;
33+
private final SearchAsyncClient asyncClient;
3434

3535
/**
36-
* Package private constructor to be used by {@link SearchIndexClientBuilder}
36+
* Package private constructor to be used by {@link SearchClientBuilder}
3737
*
38-
* @param searchIndexAsyncClient Async SearchIndex Client
38+
* @param searchAsyncClient Async SearchIndex Client
3939
*/
40-
SearchIndexClient(SearchIndexAsyncClient searchIndexAsyncClient) {
41-
this.asyncClient = searchIndexAsyncClient;
40+
SearchClient(SearchAsyncClient searchAsyncClient) {
41+
this.asyncClient = searchAsyncClient;
4242
}
4343

4444
/**

0 commit comments

Comments
 (0)