SearchIndexClient Class

Definition

  • java.lang.Object
    • com.azure.search.documents.indexes.SearchIndexClient

This class provides a client that contains the operations for creating, getting, listing, updating, or deleting indexes or synonym map and analyzing text in an Azure Cognitive Search service.

public final class SearchIndexClient

Methods

analyzeText(String indexName, AnalyzeTextOptions analyzeTextOptions)

Shows how an analyzer breaks text into tokens.

Code Sample

Analyzer text with LexicalTokenizerName "Classic" in search index "searchIndex".

PagedIterable<AnalyzedTokenInfo> tokenInfos = searchIndexClient.analyzeText("searchIndex",
     new AnalyzeTextOptions("The quick brown fox", LexicalTokenizerName.CLASSIC));
 for (AnalyzedTokenInfo tokenInfo : tokenInfos) {
     System.out.printf("The token emitted by the analyzer is %s.%n", tokenInfo.getToken());
 }
analyzeText(String indexName, AnalyzeTextOptions analyzeTextOptions, Context context)

Shows how an analyzer breaks text into tokens.

Code Sample

Analyzer text response with LexicalTokenizerName "Classic" in search index "searchIndex".

PagedIterable<AnalyzedTokenInfo> tokenInfos = searchIndexClient.analyzeText("searchIndex",
     new AnalyzeTextOptions("The quick brown fox", LexicalTokenizerName.CLASSIC), new Context(key1, value1));
 System.out.println("The status code of the response is "
     + tokenInfos.iterableByPage().iterator().next().getStatusCode());
 for (AnalyzedTokenInfo tokenInfo : tokenInfos) {
     System.out.printf("The token emitted by the analyzer is %s.%n", tokenInfo.getToken());
 }
buildSearchFields(Class<?> model, FieldBuilderOptions options)

Convenience method to convert a Class's Fields and Methods into SearchField to help aid the creation of a SearchField which represents the Class.

createIndex(SearchIndex index)

Creates a new Azure Cognitive Search index

Code Sample

Create search index named "searchIndex".

List<SearchField> searchFields = Arrays.asList(
     new SearchField("hotelId", SearchFieldDataType.STRING).setKey(true),
     new SearchField("hotelName", SearchFieldDataType.STRING).setSearchable(true)
 );
 SearchIndex searchIndex = new SearchIndex("searchIndex", searchFields);
 SearchIndex indexFromService = searchIndexClient.createIndex(searchIndex);
 System.out.printf("The index name is %s. The etag of index is %s.%n", indexFromService.getName(),
     indexFromService.getETag());
createIndexWithResponse(SearchIndex index, Context context)

Creates a new Azure Cognitive Search index

Code Sample

Create search index named "searchIndex".

List<SearchField> searchFields = Arrays.asList(
     new SearchField("hotelId", SearchFieldDataType.STRING).setKey(true),
     new SearchField("hotelName", SearchFieldDataType.STRING).setSearchable(true)
 );
 SearchIndex searchIndex = new SearchIndex("searchIndex", searchFields);

 Response<SearchIndex> indexFromServiceResponse =
     searchIndexClient.createIndexWithResponse(searchIndex, new Context(key1, value1));
 System.out.printf("The status code of the response is %s. The index name is %s.%n",
     indexFromServiceResponse.getStatusCode(), indexFromServiceResponse.getValue().getName());
createOrUpdateIndex(SearchIndex index)

Creates a new Azure Cognitive Search index or updates an index if it already exists.

Code Sample

Create or update search index named "searchIndex".

SearchIndex indexFromService = searchIndexClient.getIndex("searchIndex");
 indexFromService.setSuggesters(Collections.singletonList(new SearchSuggester("sg",
     Collections.singletonList("hotelName"))));
 SearchIndex updatedIndex = searchIndexClient.createOrUpdateIndex(indexFromService);
 System.out.printf("The index name is %s. The suggester name of index is %s.%n", updatedIndex.getName(),
     updatedIndex.getSuggesters().get(0).getName());
createOrUpdateIndexWithResponse(SearchIndex index, boolean allowIndexDowntime, boolean onlyIfUnchanged, Context context)

Creates a new Azure Cognitive Search index or updates an index if it already exists.

Code Sample

Create or update search index named "searchIndex".

SearchIndex indexFromService = searchIndexClient.getIndex("searchIndex");
 indexFromService.setSuggesters(Collections.singletonList(new SearchSuggester("sg",
     Collections.singletonList("hotelName"))));
 Response<SearchIndex> updatedIndexResponse = searchIndexClient.createOrUpdateIndexWithResponse(indexFromService, true,
     false, new Context(key1, value1));
 System.out.printf("The status code of the normal response is %s.%n"
         + "The index name is %s. The etag of index is %s.%n", updatedIndexResponse.getStatusCode(),
     updatedIndexResponse.getValue().getName(), updatedIndexResponse.getValue().getETag());
createOrUpdateSynonymMap(SynonymMap synonymMap)

Creates a new Azure Cognitive Search synonym map or updates a synonym map if it already exists.

Code Sample

Create or update synonym map named "synonymMap".

SynonymMap synonymMap = searchIndexClient.getSynonymMap("searchIndex");
 synonymMap.setSynonyms("United States, United States of America, USA, America\nWashington, Wash. => WA");
 SynonymMap updatedSynonymMap = searchIndexClient.createOrUpdateSynonymMap(synonymMap);
 System.out.printf("The synonym map name is %s. The synonyms are %s.%n", updatedSynonymMap.getName(),
     updatedSynonymMap.getSynonyms());
createOrUpdateSynonymMapWithResponse(SynonymMap synonymMap, boolean onlyIfUnchanged, Context context)

Creates a new Azure Cognitive Search synonym map or updates a synonym map if it already exists.

Code Sample

Create or update synonym map named "synonymMap".

SynonymMap synonymMap = searchIndexClient.getSynonymMap("searchIndex");
 synonymMap.setSynonyms("United States, United States of America, USA, America\nWashington, Wash. => WA");
 Response<SynonymMap> updatedSynonymMap =
     searchIndexClient.createOrUpdateSynonymMapWithResponse(synonymMap, true,
         new Context(key1, value1));
 System.out.printf("The status code of the normal response is %s.%n"
         + "The synonym map name is %s. The synonyms are %s.%n", updatedSynonymMap.getStatusCode(),
     updatedSynonymMap.getValue().getName(), updatedSynonymMap.getValue().getSynonyms());
createSynonymMap(SynonymMap synonymMap)

Creates a new Azure Cognitive Search synonym map.

Code Sample

Create synonym map named "synonymMap".

SynonymMap synonymMap = new SynonymMap("synonymMap",
     "United States, United States of America, USA\nWashington, Wash. => WA");
 SynonymMap synonymMapFromService = searchIndexClient.createSynonymMap(synonymMap);
 System.out.printf("The synonym map name is %s. The etag of synonym map is %s.%n",
     synonymMapFromService.getName(), synonymMapFromService.getETag());
createSynonymMapWithResponse(SynonymMap synonymMap, Context context)

Creates a new Azure Cognitive Search synonym map.

Code Sample

Create synonym map named "synonymMap".

SynonymMap synonymMap = new SynonymMap("synonymMap",
     "United States, United States of America, USA\nWashington, Wash. => WA");
 Response<SynonymMap> synonymMapFromService = searchIndexClient.createSynonymMapWithResponse(synonymMap,
     new Context(key1, value1));
 System.out.printf("The status code of the response is %d.%n"
         + "The synonym map name is %s. The etag of synonym map is %s.%n", synonymMapFromService.getStatusCode(),
     synonymMapFromService.getValue().getName(), synonymMapFromService.getValue().getETag());
deleteIndex(String indexName)

Deletes an Azure Cognitive Search index and all the documents it contains.

Code Sample

Delete search index with name "searchIndex".

searchIndexClient.deleteIndex("searchIndex");
deleteIndexWithResponse(SearchIndex index, boolean onlyIfUnchanged, Context context)

Deletes an Azure Cognitive Search index and all the documents it contains.

Code Sample

Delete search index with name "searchIndex".

SearchIndex indexFromService = searchIndexClient.getIndex("searchIndex");
 Response<Void> deleteResponse = searchIndexClient.deleteIndexWithResponse(indexFromService, true,
     new Context(key1, value1));
 System.out.printf("The status code of the response is %d.%n", deleteResponse.getStatusCode());
deleteSynonymMap(String synonymMapName)

Deletes an Azure Cognitive Search synonym map.

Code Sample

Delete synonym map with name "synonymMap".

searchIndexClient.deleteSynonymMap("synonymMap");
deleteSynonymMapWithResponse(SynonymMap synonymMap, boolean onlyIfUnchanged, Context context)

Deletes an Azure Cognitive Search synonym map.

Code Sample

Delete synonym map with name "synonymMap".

SynonymMap synonymMap = searchIndexClient.getSynonymMap("synonymMap");
 Response<Void> response = searchIndexClient.deleteSynonymMapWithResponse(synonymMap, true,
     new Context(key1, value1));
 System.out.println("The status code of the response is" + response.getStatusCode());
getEndpoint()

Gets the endpoint for the Azure Cognitive Search service.

getIndex(String indexName)

Retrieves an index definition from the Azure Cognitive Search.

Code Sample

Get search index with name "searchIndex".

SearchIndex indexFromService =
     searchIndexClient.getIndex("searchIndex");
 System.out.printf("The index name is %s. The etag of index is %s.%n", indexFromService.getName(),
     indexFromService.getETag());
getIndexStatistics(String indexName)

Returns statistics for the given index, including a document count and storage usage.

Code Sample

Get search index "searchIndex" statistics.

SearchIndexStatistics statistics = searchIndexClient.getIndexStatistics("searchIndex");
 System.out.printf("There are %d documents and storage size of %d available in 'searchIndex'.%n",
     statistics.getDocumentCount(), statistics.getStorageSize());
getIndexStatisticsWithResponse(String indexName, Context context)

Returns statistics for the given index, including a document count and storage usage.

Code Sample

Get search index "searchIndex" statistics.

Response<SearchIndexStatistics> statistics = searchIndexClient.getIndexStatisticsWithResponse("searchIndex",
     new Context(key1, value1));
 System.out.printf("The status code of the response is %s.%n"
         + "There are %d documents and storage size of %d available in 'searchIndex'.%n",
     statistics.getStatusCode(), statistics.getValue().getDocumentCount(),
     statistics.getValue().getStorageSize());
getIndexWithResponse(String indexName, Context context)

Retrieves an index definition from the Azure Cognitive Search.

Code Sample

Get search index with "searchIndex.

Response<SearchIndex> indexFromServiceResponse =
     searchIndexClient.getIndexWithResponse("searchIndex", new Context(key1, value1));

 System.out.printf("The status code of the response is %s. The index name is %s.%n",
     indexFromServiceResponse.getStatusCode(), indexFromServiceResponse.getValue().getName());
getSearchClient(String indexName)

Initializes a new SearchClient using the given Index name and the same configuration as the SearchServiceClient.

getServiceStatistics()

Returns service level statistics for a search service, including service counters and limits.

Code Sample

Get service statistics.

SearchServiceStatistics serviceStatistics = searchIndexClient.getServiceStatistics();
 System.out.printf("There are %s search indexes in your service.%n",
     serviceStatistics.getCounters().getIndexCounter());
getServiceStatisticsWithResponse(Context context)

Returns service level statistics for a search service, including service counters and limits.

Code Sample

Get service statistics.

Response<SearchServiceStatistics> serviceStatistics =
     searchIndexClient.getServiceStatisticsWithResponse(new Context(key1, value1));
 System.out.printf("The status code of the response is %s.%nThere are %s search indexes in your service.%n",
     serviceStatistics.getStatusCode(),
     serviceStatistics.getValue().getCounters().getIndexCounter());
getSynonymMap(String synonymMapName)

Retrieves a synonym map definition.

Code Sample

Get synonym map with name "synonymMap".

SynonymMap synonymMapFromService =
     searchIndexClient.getSynonymMap("synonymMap");
 System.out.printf("The synonym map is %s. The etag of synonym map is %s.%n", synonymMapFromService.getName(),
     synonymMapFromService.getETag());
getSynonymMapWithResponse(String synonymMapName, Context context)

Retrieves a synonym map definition.

Code Sample

Get synonym map with name "synonymMap".

Response<SynonymMap> synonymMapFromService =
     searchIndexClient.getSynonymMapWithResponse("synonymMap", new Context(key1, value1));
 System.out.printf("The status code of the response is %d.%n"
         + "The synonym map name is %s. The etag of synonym map is %s.%n", synonymMapFromService.getStatusCode(),
     synonymMapFromService.getValue().getName(), synonymMapFromService.getValue().getETag());
listIndexNames()

Lists all index names for an Azure Cognitive Search service.

Code Sample

List all search indexes names.

PagedIterable<String> indexes = searchIndexClient.listIndexNames();
 for (String indexName: indexes) {
     System.out.printf("The index name is %s.%n", indexName);
 }
listIndexNames(Context context)

Lists all indexes names for an Azure Cognitive Search service.

Code Sample

List all search indexes names.

PagedIterable<String> indexes = searchIndexClient.listIndexNames(new Context(key1, value1));
 System.out.println("The status code of the response is"
     + indexes.iterableByPage().iterator().next().getStatusCode());
 for (String indexName: indexes) {
     System.out.printf("The index name is %s.%n", indexName);
 }
listIndexes()

Lists all indexes available for an Azure Cognitive Search service.

Code Sample

List all search indexes.

PagedIterable<SearchIndex> indexes = searchIndexClient.listIndexes();
 for (SearchIndex index: indexes) {
     System.out.printf("The index name is %s. The etag of index is %s.%n", index.getName(),
         index.getETag());
 }
listIndexes(Context context)

Lists all indexes available for an Azure Cognitive Search service.

Code Sample

List all search indexes.

PagedIterable<SearchIndex> indexes = searchIndexClient.listIndexes(new Context(key1, value1));
 System.out.println("The status code of the response is"
     + indexes.iterableByPage().iterator().next().getStatusCode());
 for (SearchIndex index: indexes) {
     System.out.printf("The index name is %s. The etag of index is %s.%n", index.getName(), index.getETag());
 }
listSynonymMapNames()

Lists all synonym maps names for an Azure Cognitive Search service.

Code Sample

List all synonym map names.

PagedIterable<String> synonymMaps = searchIndexClient.listSynonymMapNames();
 for (String synonymMap: synonymMaps) {
     System.out.printf("The synonymMap name is %s.%n", synonymMap);
 }
listSynonymMapNames(Context context)

Lists all synonym maps names for an Azure Cognitive Search service.

Code Sample

List all synonym map names.

PagedIterable<String> synonymMaps = searchIndexClient.listIndexNames(new Context(key1, value1));
 System.out.println("The status code of the response is"
     + synonymMaps.iterableByPage().iterator().next().getStatusCode());
 for (String synonymMapNames: synonymMaps) {
     System.out.printf("The synonymMap name is %s.%n", synonymMapNames);
 }
listSynonymMaps()

Lists all synonym maps available for an Azure Cognitive Search service.

Code Sample

List all synonym maps.

PagedIterable<SynonymMap> synonymMaps = searchIndexClient.listSynonymMaps();
 for (SynonymMap synonymMap: synonymMaps) {
     System.out.printf("The synonymMap name is %s. The etag of synonymMap is %s.%n", synonymMap.getName(),
         synonymMap.getETag());
 }
listSynonymMaps(Context context)

Lists all synonym maps available for an Azure Cognitive Search service.

Code Sample

List all synonym maps.

PagedIterable<SynonymMap> synonymMaps = searchIndexClient.listSynonymMaps(new Context(key1, value1));
 System.out.println("The status code of the response is"
     + synonymMaps.iterableByPage().iterator().next().getStatusCode());
 for (SynonymMap index: synonymMaps) {
     System.out.printf("The index name is %s. The etag of index is %s.%n", index.getName(), index.getETag());
 }

Inherited Members

java.lang.Object.clone() java.lang.Object.equals(java.lang.Object) java.lang.Object.finalize() java.lang.Object.getClass() java.lang.Object.hashCode() java.lang.Object.notify() java.lang.Object.notifyAll() java.lang.Object.toString() java.lang.Object.wait() java.lang.Object.wait(long) java.lang.Object.wait(long,int)

Applies to