Skip to content

Commit 2154ba5

Browse files
authored
Added isHidden API and make retrievable API private (#10182)
1 parent a730a90 commit 2154ba5

File tree

8 files changed

+145
-85
lines changed

8 files changed

+145
-85
lines changed

sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/models/Field.java

Lines changed: 45 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
package com.azure.search.documents.models;
88

99
import com.azure.core.annotation.Fluent;
10+
import com.fasterxml.jackson.annotation.JsonIgnore;
1011
import com.fasterxml.jackson.annotation.JsonProperty;
1112
import java.util.List;
1213

@@ -224,6 +225,17 @@ public final class Field {
224225
@JsonProperty(value = "fields")
225226
private List<Field> fields;
226227

228+
/*
229+
* A value indicating whether the field will be returned in a search
230+
* result. This property must be false for key fields, and must be null for
231+
* complex fields. You can hide a field from search results if you want to
232+
* use it only as a filter, for sorting, or for scoring. This property can
233+
* also be changed on existing fields and enabling it does not cause an
234+
* increase in index storage requirements.
235+
*/
236+
@JsonIgnore
237+
private Boolean hidden;
238+
227239
/**
228240
* Get the name property: The name of the field, which must be unique
229241
* within the fields collection of the index or parent field.
@@ -314,7 +326,7 @@ public Field setKey(Boolean key) {
314326
*
315327
* @return the retrievable value.
316328
*/
317-
public Boolean isRetrievable() {
329+
private Boolean isRetrievable() {
318330
return this.retrievable;
319331
}
320332

@@ -331,7 +343,7 @@ public Boolean isRetrievable() {
331343
* @param retrievable the retrievable value to set.
332344
* @return the Field object itself.
333345
*/
334-
public Field setRetrievable(Boolean retrievable) {
346+
private Field setRetrievable(Boolean retrievable) {
335347
this.retrievable = retrievable;
336348
return this;
337349
}
@@ -759,4 +771,35 @@ public Field setFields(List<Field> fields) {
759771
this.fields = fields;
760772
return this;
761773
}
774+
775+
/**
776+
* Get the hidden property: A value indicating whether the field will be
777+
* returned in a search result. This property must be false for key fields,
778+
* and must be null for complex fields. You can hide a field from search
779+
* results if you want to use it only as a filter, for sorting, or for
780+
* scoring. This property can also be changed on existing fields and
781+
* enabling it does not cause an increase in index storage requirements.
782+
*
783+
* @return the hidden value.
784+
*/
785+
public Boolean isHidden() {
786+
return retrievable == null ? null : !retrievable;
787+
}
788+
789+
/**
790+
* Set the hidden property: A value indicating whether the field will be
791+
* returned in a search result. This property must be false for key fields,
792+
* and must be null for complex fields. You can hide a field from search
793+
* results if you want to use it only as a filter, for sorting, or for
794+
* scoring. This property can also be changed on existing fields and
795+
* enabling it does not cause an increase in index storage requirements.
796+
*
797+
* @param hidden the hidden value to set.
798+
* @return the Field object itself.
799+
*/
800+
public Field setHidden(Boolean hidden) {
801+
this.hidden = hidden;
802+
retrievable = this.hidden == null ? null : !this.hidden;
803+
return this;
804+
}
762805
}

sdk/search/azure-search-documents/src/samples/java/com/azure/search/documents/IndexAndServiceStatisticsExample.java

Lines changed: 26 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -136,15 +136,15 @@ private static Index createTestIndex() {
136136
.setFilterable(Boolean.TRUE)
137137
.setSortable(Boolean.TRUE)
138138
.setFacetable(Boolean.TRUE)
139-
.setRetrievable(Boolean.TRUE),
139+
.setHidden(Boolean.FALSE),
140140
new Field()
141141
.setName("HotelName")
142142
.setType(DataType.EDM_STRING)
143143
.setSearchable(Boolean.TRUE)
144144
.setFilterable(Boolean.TRUE)
145145
.setSortable(Boolean.TRUE)
146146
.setFacetable(Boolean.FALSE)
147-
.setRetrievable(Boolean.TRUE),
147+
.setHidden(Boolean.FALSE),
148148
new Field()
149149
.setName("Description")
150150
.setType(DataType.EDM_STRING)
@@ -154,7 +154,7 @@ private static Index createTestIndex() {
154154
.setSortable(Boolean.FALSE)
155155
.setFacetable(Boolean.FALSE)
156156
.setAnalyzer(AnalyzerName.EN_LUCENE)
157-
.setRetrievable(Boolean.TRUE),
157+
.setHidden(Boolean.FALSE),
158158
new Field()
159159
.setName("DescriptionFr")
160160
.setType(DataType.EDM_STRING)
@@ -163,7 +163,7 @@ private static Index createTestIndex() {
163163
.setSortable(Boolean.FALSE)
164164
.setFacetable(Boolean.FALSE)
165165
.setAnalyzer(AnalyzerName.FR_LUCENE)
166-
.setRetrievable(Boolean.TRUE),
166+
.setHidden(Boolean.FALSE),
167167
new Field()
168168
.setName("Description_Custom")
169169
.setType(DataType.EDM_STRING)
@@ -173,51 +173,51 @@ private static Index createTestIndex() {
173173
.setFacetable(Boolean.FALSE)
174174
.setSearchAnalyzer(AnalyzerName.STOP)
175175
.setIndexAnalyzer(AnalyzerName.STOP)
176-
.setRetrievable(Boolean.TRUE),
176+
.setHidden(Boolean.FALSE),
177177
new Field()
178178
.setName("Category")
179179
.setType(DataType.EDM_STRING)
180180
.setSearchable(Boolean.TRUE)
181181
.setFilterable(Boolean.TRUE)
182182
.setSortable(Boolean.TRUE)
183183
.setFacetable(Boolean.TRUE)
184-
.setRetrievable(Boolean.TRUE),
184+
.setHidden(Boolean.FALSE),
185185
new Field()
186186
.setName("Tags")
187187
.setType(DataType.collection(DataType.EDM_STRING))
188188
.setSearchable(Boolean.TRUE)
189189
.setFilterable(Boolean.TRUE)
190190
.setSortable(Boolean.FALSE)
191191
.setFacetable(Boolean.TRUE)
192-
.setRetrievable(Boolean.TRUE),
192+
.setHidden(Boolean.FALSE),
193193
new Field()
194194
.setName("ParkingIncluded")
195195
.setType(DataType.EDM_BOOLEAN)
196196
.setFilterable(Boolean.TRUE)
197197
.setSortable(Boolean.TRUE)
198198
.setFacetable(Boolean.TRUE)
199-
.setRetrievable(Boolean.TRUE),
199+
.setHidden(Boolean.FALSE),
200200
new Field()
201201
.setName("SmokingAllowed")
202202
.setType(DataType.EDM_BOOLEAN)
203203
.setFilterable(Boolean.TRUE)
204204
.setSortable(Boolean.TRUE)
205205
.setFacetable(Boolean.TRUE)
206-
.setRetrievable(Boolean.TRUE),
206+
.setHidden(Boolean.FALSE),
207207
new Field()
208208
.setName("LastRenovationDate")
209209
.setType(DataType.EDM_DATE_TIME_OFFSET)
210210
.setFilterable(Boolean.TRUE)
211211
.setSortable(Boolean.TRUE)
212212
.setFacetable(Boolean.TRUE)
213-
.setRetrievable(Boolean.TRUE),
213+
.setHidden(Boolean.FALSE),
214214
new Field()
215215
.setName("Rating")
216216
.setType(DataType.EDM_INT32)
217217
.setFilterable(Boolean.TRUE)
218218
.setSortable(Boolean.TRUE)
219219
.setFacetable(Boolean.TRUE)
220-
.setRetrievable(Boolean.TRUE),
220+
.setHidden(Boolean.FALSE),
221221
new Field()
222222
.setName("Address")
223223
.setType(DataType.EDM_COMPLEX_TYPE)
@@ -226,39 +226,39 @@ private static Index createTestIndex() {
226226
.setName("StreetAddress")
227227
.setType(DataType.EDM_STRING)
228228
.setSearchable(Boolean.TRUE)
229-
.setRetrievable(Boolean.TRUE),
229+
.setHidden(Boolean.FALSE),
230230
new Field()
231231
.setName("City")
232232
.setType(DataType.EDM_STRING)
233233
.setSearchable(Boolean.TRUE)
234234
.setFilterable(Boolean.TRUE)
235235
.setSortable(Boolean.TRUE)
236236
.setFacetable(Boolean.TRUE)
237-
.setRetrievable(Boolean.TRUE),
237+
.setHidden(Boolean.FALSE),
238238
new Field()
239239
.setName("StateProvince")
240240
.setType(DataType.EDM_STRING)
241241
.setSearchable(Boolean.TRUE)
242242
.setFilterable(Boolean.TRUE)
243243
.setSortable(Boolean.TRUE)
244244
.setFacetable(Boolean.TRUE)
245-
.setRetrievable(Boolean.TRUE),
245+
.setHidden(Boolean.FALSE),
246246
new Field()
247247
.setName("Country")
248248
.setType(DataType.EDM_STRING)
249249
.setSearchable(Boolean.TRUE)
250250
.setFilterable(Boolean.TRUE)
251251
.setSortable(Boolean.TRUE)
252252
.setFacetable(Boolean.TRUE)
253-
.setRetrievable(Boolean.TRUE),
253+
.setHidden(Boolean.FALSE),
254254
new Field()
255255
.setName("PostalCode")
256256
.setType(DataType.EDM_STRING)
257257
.setSearchable(Boolean.TRUE)
258258
.setFilterable(Boolean.TRUE)
259259
.setSortable(Boolean.TRUE)
260260
.setFacetable(Boolean.TRUE)
261-
.setRetrievable(Boolean.TRUE)
261+
.setHidden(Boolean.FALSE)
262262
)
263263
),
264264
new Field()
@@ -267,8 +267,7 @@ private static Index createTestIndex() {
267267
.setFilterable(Boolean.TRUE)
268268
.setSortable(Boolean.TRUE)
269269
.setFacetable(Boolean.FALSE)
270-
.setRetrievable(Boolean.TRUE)
271-
.setRetrievable(Boolean.TRUE),
270+
.setHidden(Boolean.FALSE),
272271
new Field()
273272
.setName("Rooms")
274273
.setType(DataType.collection(DataType.EDM_COMPLEX_TYPE))
@@ -277,56 +276,56 @@ private static Index createTestIndex() {
277276
.setName("Description")
278277
.setType(DataType.EDM_STRING)
279278
.setSearchable(Boolean.TRUE)
280-
.setRetrievable(Boolean.TRUE)
279+
.setHidden(Boolean.FALSE)
281280
.setAnalyzer(AnalyzerName.EN_LUCENE),
282281
new Field()
283282
.setName("DescriptionFr")
284283
.setType(DataType.EDM_STRING)
285284
.setSearchable(Boolean.TRUE)
286-
.setRetrievable(Boolean.TRUE)
285+
.setHidden(Boolean.FALSE)
287286
.setAnalyzer(AnalyzerName.FR_LUCENE),
288287
new Field()
289288
.setName("Type")
290289
.setType(DataType.EDM_STRING)
291290
.setSearchable(Boolean.TRUE)
292291
.setFilterable(Boolean.TRUE)
293292
.setFacetable(Boolean.TRUE)
294-
.setRetrievable(Boolean.TRUE),
293+
.setHidden(Boolean.FALSE),
295294
new Field()
296295
.setName("BaseRate")
297296
.setType(DataType.EDM_DOUBLE)
298297
.setKey(Boolean.FALSE)
299298
.setSearchable(Boolean.FALSE)
300299
.setFilterable(Boolean.TRUE)
301300
.setFacetable(Boolean.TRUE)
302-
.setRetrievable(Boolean.TRUE),
301+
.setHidden(Boolean.FALSE),
303302
new Field()
304303
.setName("BedOptions")
305304
.setType(DataType.EDM_STRING)
306305
.setSearchable(Boolean.TRUE)
307306
.setFilterable(Boolean.TRUE)
308307
.setFacetable(Boolean.TRUE)
309-
.setRetrievable(Boolean.TRUE),
308+
.setHidden(Boolean.FALSE),
310309
new Field()
311310
.setName("SleepsCount")
312311
.setType(DataType.EDM_INT32)
313312
.setFilterable(Boolean.TRUE)
314313
.setFacetable(Boolean.TRUE)
315-
.setRetrievable(Boolean.TRUE),
314+
.setHidden(Boolean.FALSE),
316315
new Field()
317316
.setName("SmokingAllowed")
318317
.setType(DataType.EDM_BOOLEAN)
319318
.setFilterable(Boolean.TRUE)
320319
.setFacetable(Boolean.TRUE)
321-
.setRetrievable(Boolean.TRUE),
320+
.setHidden(Boolean.FALSE),
322321
new Field()
323322
.setName("Tags")
324323
.setType(DataType.collection(DataType.EDM_STRING))
325324
.setSearchable(Boolean.TRUE)
326325
.setFilterable(Boolean.TRUE)
327326
.setSortable(Boolean.FALSE)
328327
.setFacetable(Boolean.TRUE)
329-
.setRetrievable(Boolean.TRUE)
328+
.setHidden(Boolean.FALSE)
330329
)
331330
),
332331
new Field()
@@ -335,8 +334,7 @@ private static Index createTestIndex() {
335334
.setFilterable(Boolean.TRUE)
336335
.setSortable(Boolean.TRUE)
337336
.setFacetable(Boolean.TRUE)
338-
.setRetrievable(Boolean.FALSE
339-
),
337+
.setHidden(Boolean.TRUE),
340338
new Field()
341339
.setName("ProfitMargin")
342340
.setType(DataType.EDM_DOUBLE)

sdk/search/azure-search-documents/src/samples/java/com/azure/search/documents/LifecycleSetupExample.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -146,25 +146,25 @@ private static Index createIndex(SearchServiceClient client) {
146146
.setKey(Boolean.TRUE)
147147
.setFacetable(Boolean.TRUE)
148148
.setFilterable(Boolean.TRUE)
149-
.setRetrievable(Boolean.TRUE)
149+
.setHidden(Boolean.FALSE)
150150
.setSearchable(Boolean.FALSE)
151151
.setSortable(Boolean.FALSE),
152152
new Field()
153153
.setName("HotelName")
154154
.setType(DataType.EDM_STRING)
155155
.setFacetable(Boolean.FALSE)
156156
.setFilterable(Boolean.FALSE)
157+
.setHidden(Boolean.FALSE)
157158
.setKey(Boolean.FALSE)
158-
.setRetrievable(Boolean.TRUE)
159159
.setSearchable(Boolean.TRUE)
160160
.setSortable(Boolean.FALSE)
161161
.setAnalyzer(AnalyzerName.EN_MICROSOFT),
162162
new Field()
163163
.setName("Description")
164164
.setType(DataType.EDM_STRING)
165-
.setRetrievable(Boolean.TRUE)
166165
.setSearchable(Boolean.TRUE)
167166
.setFilterable(Boolean.FALSE)
167+
.setHidden(Boolean.FALSE)
168168
.setSortable(Boolean.FALSE)
169169
.setFacetable(Boolean.FALSE)
170170
.setAnalyzer(AnalyzerName.EN_MICROSOFT),
@@ -173,7 +173,7 @@ private static Index createIndex(SearchServiceClient client) {
173173
.setType(DataType.collection(DataType.EDM_STRING))
174174
.setFacetable(Boolean.TRUE)
175175
.setFilterable(Boolean.TRUE)
176-
.setRetrievable(Boolean.TRUE)
176+
.setHidden(Boolean.FALSE)
177177
.setSearchable(Boolean.TRUE)
178178
.setAnalyzer(AnalyzerName.EN_MICROSOFT)));
179179

sdk/search/azure-search-documents/src/test/java/com/azure/search/documents/IndexManagementSyncTests.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -366,7 +366,7 @@ public void canUpdateIndexDefinition() {
366366
);
367367

368368
Field tagsField = getFieldByName(existingIndex, "Description_Custom");
369-
tagsField.setRetrievable(false)
369+
tagsField.setHidden(true)
370370
.setSearchAnalyzer(AnalyzerName.WHITESPACE)
371371
.setSynonymMaps(Collections.singletonList(synonymMap.getName()));
372372

@@ -378,7 +378,7 @@ public void canUpdateIndexDefinition() {
378378
addFieldToIndex(existingIndex, hotelWebSiteField);
379379

380380
Field hotelNameField = getFieldByName(existingIndex, "HotelName");
381-
hotelNameField.setRetrievable(false);
381+
hotelNameField.setHidden(true);
382382

383383
updatedIndex = client.createOrUpdateIndexWithResponse(existingIndex,
384384
true, new MatchConditions(), generateRequestOptions(), Context.NONE).getValue();

0 commit comments

Comments
 (0)