Class OpenSearchRestTemplate

java.lang.Object
org.springframework.data.elasticsearch.core.AbstractElasticsearchTemplate
org.opensearch.data.client.orhlc.OpenSearchRestTemplate
All Implemented Interfaces:
org.springframework.beans.factory.Aware, org.springframework.context.ApplicationContextAware, org.springframework.data.elasticsearch.core.DocumentOperations, org.springframework.data.elasticsearch.core.ElasticsearchOperations, org.springframework.data.elasticsearch.core.script.ScriptOperations, org.springframework.data.elasticsearch.core.SearchOperations

public class OpenSearchRestTemplate extends org.springframework.data.elasticsearch.core.AbstractElasticsearchTemplate
OpenSearchRestTemplate
Since:
0.1
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    static interface 
    Callback interface to be used with execute(ClientCallback) for operating directly on RestHighLevelClient.

    Nested classes/interfaces inherited from class org.springframework.data.elasticsearch.core.AbstractElasticsearchTemplate

    org.springframework.data.elasticsearch.core.AbstractElasticsearchTemplate.DocumentCallback<T extends Object>, org.springframework.data.elasticsearch.core.AbstractElasticsearchTemplate.ReadDocumentCallback<T extends Object>, org.springframework.data.elasticsearch.core.AbstractElasticsearchTemplate.ReadSearchDocumentResponseCallback<T extends Object>, org.springframework.data.elasticsearch.core.AbstractElasticsearchTemplate.ReadSearchScrollDocumentResponseCallback<T extends Object>, org.springframework.data.elasticsearch.core.AbstractElasticsearchTemplate.SearchDocumentResponseCallback<T extends Object>
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected org.opensearch.data.client.orhlc.RequestFactory
     

    Fields inherited from class org.springframework.data.elasticsearch.core.AbstractElasticsearchTemplate

    elasticsearchConverter, entityCallbacks, entityOperations, refreshPolicy, routingResolver
  • Constructor Summary

    Constructors
    Constructor
    Description
    OpenSearchRestTemplate(org.opensearch.client.RestHighLevelClient client)
     
    OpenSearchRestTemplate(org.opensearch.client.RestHighLevelClient client, org.springframework.data.elasticsearch.core.convert.ElasticsearchConverter opensearchConverter)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    bulkUpdate(List<org.springframework.data.elasticsearch.core.query.UpdateQuery> queries, org.springframework.data.elasticsearch.core.query.BulkOptions bulkOptions, org.springframework.data.elasticsearch.core.mapping.IndexCoordinates index)
     
    protected List<org.springframework.data.elasticsearch.core.IndexedObjectInformation>
    checkForBulkOperationFailure(org.opensearch.action.bulk.BulkResponse bulkResponse)
    extract the list of IndexedObjectInformation from a BulkResponse.
     
    org.springframework.data.elasticsearch.core.cluster.ClusterOperations
     
    long
    count(org.springframework.data.elasticsearch.core.query.Query query, Class<?> clazz, org.springframework.data.elasticsearch.core.mapping.IndexCoordinates index)
     
    org.springframework.data.elasticsearch.core.query.ByQueryResponse
    delete(org.springframework.data.elasticsearch.core.query.DeleteQuery query, Class<?> clazz)
     
    org.springframework.data.elasticsearch.core.query.ByQueryResponse
    delete(org.springframework.data.elasticsearch.core.query.DeleteQuery query, Class<?> clazz, org.springframework.data.elasticsearch.core.mapping.IndexCoordinates index)
     
    org.springframework.data.elasticsearch.core.query.ByQueryResponse
    delete(org.springframework.data.elasticsearch.core.query.Query query, Class<?> clazz, org.springframework.data.elasticsearch.core.mapping.IndexCoordinates index)
     
    List<org.springframework.data.elasticsearch.core.IndexedObjectInformation>
    doBulkOperation(List<?> queries, org.springframework.data.elasticsearch.core.query.BulkOptions bulkOptions, org.springframework.data.elasticsearch.core.mapping.IndexCoordinates index)
     
    protected org.springframework.data.elasticsearch.core.AbstractElasticsearchTemplate
     
    protected String
    doDelete(String id, String routing, org.springframework.data.elasticsearch.core.mapping.IndexCoordinates index)
     
    protected boolean
    doExists(String id, org.springframework.data.elasticsearch.core.mapping.IndexCoordinates index)
     
    doIndex(org.springframework.data.elasticsearch.core.query.IndexQuery query, org.springframework.data.elasticsearch.core.mapping.IndexCoordinates index)
     
    protected <T> org.springframework.data.elasticsearch.core.SearchHits<T>
    doSearch(org.springframework.data.elasticsearch.core.query.MoreLikeThisQuery query, Class<T> clazz, org.springframework.data.elasticsearch.core.mapping.IndexCoordinates index)
     
    <T> T
    Execute a callback with the RestHighLevelClient
    <T> T
    get(String id, Class<T> clazz, org.springframework.data.elasticsearch.core.mapping.IndexCoordinates index)
     
     
    protected org.opensearch.action.search.MultiSearchResponse.Item[]
    getMultiSearchResult(org.opensearch.action.search.MultiSearchRequest request)
     
    org.opensearch.data.client.orhlc.RequestFactory
     
     
     
    org.springframework.data.elasticsearch.core.query.Query
     
    org.springframework.data.elasticsearch.core.IndexOperations
    indexOps(Class<?> clazz)
     
    org.springframework.data.elasticsearch.core.IndexOperations
    indexOps(org.springframework.data.elasticsearch.core.mapping.IndexCoordinates index)
     
    org.springframework.data.elasticsearch.core.query.Query
     
    <T> List<org.springframework.data.elasticsearch.core.MultiGetItem<T>>
    multiGet(org.springframework.data.elasticsearch.core.query.Query query, Class<T> clazz, org.springframework.data.elasticsearch.core.mapping.IndexCoordinates index)
     
    <T> List<org.springframework.data.elasticsearch.core.SearchHits<T>>
    multiSearch(List<? extends org.springframework.data.elasticsearch.core.query.Query> queries, Class<T> clazz, org.springframework.data.elasticsearch.core.mapping.IndexCoordinates index)
     
    List<org.springframework.data.elasticsearch.core.SearchHits<?>>
    multiSearch(List<? extends org.springframework.data.elasticsearch.core.query.Query> queries, List<Class<?>> classes)
     
    List<org.springframework.data.elasticsearch.core.SearchHits<?>>
    multiSearch(List<? extends org.springframework.data.elasticsearch.core.query.Query> queries, List<Class<?>> classes, List<org.springframework.data.elasticsearch.core.mapping.IndexCoordinates> indexes)
     
    List<org.springframework.data.elasticsearch.core.SearchHits<?>>
    multiSearch(List<? extends org.springframework.data.elasticsearch.core.query.Query> queries, List<Class<?>> classes, org.springframework.data.elasticsearch.core.mapping.IndexCoordinates index)
     
    openPointInTime(org.springframework.data.elasticsearch.core.mapping.IndexCoordinates index, Duration keepAlive, Boolean ignoreUnavailable)
     
    protected <R extends org.opensearch.action.support.WriteRequest<R>>
    R
    Preprocess the write request before it is sent to the server, e.g.
    org.springframework.data.elasticsearch.core.query.BaseQueryBuilder
     
    org.springframework.data.elasticsearch.core.reindex.ReindexResponse
    reindex(org.springframework.data.elasticsearch.core.reindex.ReindexRequest reindexRequest)
     
    <T> org.springframework.data.elasticsearch.core.SearchHits<T>
    search(org.springframework.data.elasticsearch.core.query.Query query, Class<T> clazz, org.springframework.data.elasticsearch.core.mapping.IndexCoordinates index)
     
    void
     
    <T> org.springframework.data.elasticsearch.core.SearchScrollHits<T>
    searchScrollContinue(String scrollId, long scrollTimeInMillis, Class<T> clazz, org.springframework.data.elasticsearch.core.mapping.IndexCoordinates index)
     
    <T> org.springframework.data.elasticsearch.core.SearchScrollHits<T>
    searchScrollStart(long scrollTimeInMillis, org.springframework.data.elasticsearch.core.query.Query query, Class<T> clazz, org.springframework.data.elasticsearch.core.mapping.IndexCoordinates index)
     
    submitReindex(org.springframework.data.elasticsearch.core.reindex.ReindexRequest reindexRequest)
     
    org.opensearch.action.search.SearchResponse
    suggest(org.opensearch.search.suggest.SuggestBuilder suggestion, Class<?> clazz)
    Deprecated.
    org.opensearch.action.search.SearchResponse
    suggest(org.opensearch.search.suggest.SuggestBuilder suggestion, org.springframework.data.elasticsearch.core.mapping.IndexCoordinates index)
     
    org.springframework.data.elasticsearch.core.query.UpdateResponse
    update(org.springframework.data.elasticsearch.core.query.UpdateQuery query, org.springframework.data.elasticsearch.core.mapping.IndexCoordinates index)
     
    org.springframework.data.elasticsearch.core.query.ByQueryResponse
    updateByQuery(org.springframework.data.elasticsearch.core.query.UpdateQuery query, org.springframework.data.elasticsearch.core.mapping.IndexCoordinates index)
     

    Methods inherited from class org.springframework.data.elasticsearch.core.AbstractElasticsearchTemplate

    buildUpdateQueryByEntity, bulkIndex, bulkIndex, bulkIndex, bulkOperation, bulkUpdate, count, delete, delete, delete, delete, delete, deleteScript, exists, exists, get, getElasticsearchConverter, getEntityCreator, getEntityRouting, getIndexCoordinatesFor, getRefreshPolicy, getScript, index, logVersions, maybeCallbackAfterConvert, maybeCallbackAfterLoad, maybeCallbackAfterSave, maybeCallbackAfterSaveWithQueries, maybeCallbackAfterSaveWithQuery, maybeCallbackBeforeConvert, maybeCallbackBeforeConvertWithQueries, maybeCallbackBeforeConvertWithQuery, multiGet, multiSearch, putScript, save, save, save, save, save, search, search, search, searchForStream, searchForStream, searchScrollClear, setApplicationContext, setEntityCallbacks, setRefreshPolicy, toArray, update, update, updateIndexedObjectsWithQueries, withRefreshPolicy, withRouting

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface org.springframework.data.elasticsearch.core.DocumentOperations

    bulkIndex, bulkUpdate

    Methods inherited from interface org.springframework.data.elasticsearch.core.ElasticsearchOperations

    convertId

    Methods inherited from interface org.springframework.data.elasticsearch.core.SearchOperations

    count, openPointInTime, searchOne, searchOne
  • Field Details

    • requestFactory

      protected org.opensearch.data.client.orhlc.RequestFactory requestFactory
  • Constructor Details

    • OpenSearchRestTemplate

      public OpenSearchRestTemplate(org.opensearch.client.RestHighLevelClient client)
    • OpenSearchRestTemplate

      public OpenSearchRestTemplate(org.opensearch.client.RestHighLevelClient client, org.springframework.data.elasticsearch.core.convert.ElasticsearchConverter opensearchConverter)
  • Method Details

    • doCopy

      protected org.springframework.data.elasticsearch.core.AbstractElasticsearchTemplate doCopy()
      Specified by:
      doCopy in class org.springframework.data.elasticsearch.core.AbstractElasticsearchTemplate
    • getRequestFactory

      public org.opensearch.data.client.orhlc.RequestFactory getRequestFactory()
    • indexOps

      public org.springframework.data.elasticsearch.core.IndexOperations indexOps(Class<?> clazz)
    • indexOps

      public org.springframework.data.elasticsearch.core.IndexOperations indexOps(org.springframework.data.elasticsearch.core.mapping.IndexCoordinates index)
    • cluster

      public org.springframework.data.elasticsearch.core.cluster.ClusterOperations cluster()
    • doIndex

      public String doIndex(org.springframework.data.elasticsearch.core.query.IndexQuery query, org.springframework.data.elasticsearch.core.mapping.IndexCoordinates index)
      Specified by:
      doIndex in class org.springframework.data.elasticsearch.core.AbstractElasticsearchTemplate
    • get

      @Nullable public <T> T get(String id, Class<T> clazz, org.springframework.data.elasticsearch.core.mapping.IndexCoordinates index)
    • multiGet

      public <T> List<org.springframework.data.elasticsearch.core.MultiGetItem<T>> multiGet(org.springframework.data.elasticsearch.core.query.Query query, Class<T> clazz, org.springframework.data.elasticsearch.core.mapping.IndexCoordinates index)
    • doExists

      protected boolean doExists(String id, org.springframework.data.elasticsearch.core.mapping.IndexCoordinates index)
      Specified by:
      doExists in class org.springframework.data.elasticsearch.core.AbstractElasticsearchTemplate
    • bulkUpdate

      public void bulkUpdate(List<org.springframework.data.elasticsearch.core.query.UpdateQuery> queries, org.springframework.data.elasticsearch.core.query.BulkOptions bulkOptions, org.springframework.data.elasticsearch.core.mapping.IndexCoordinates index)
    • doDelete

      protected String doDelete(String id, @Nullable String routing, org.springframework.data.elasticsearch.core.mapping.IndexCoordinates index)
      Specified by:
      doDelete in class org.springframework.data.elasticsearch.core.AbstractElasticsearchTemplate
    • delete

      public org.springframework.data.elasticsearch.core.query.ByQueryResponse delete(org.springframework.data.elasticsearch.core.query.Query query, Class<?> clazz, org.springframework.data.elasticsearch.core.mapping.IndexCoordinates index)
    • delete

      public org.springframework.data.elasticsearch.core.query.ByQueryResponse delete(org.springframework.data.elasticsearch.core.query.DeleteQuery query, Class<?> clazz)
    • delete

      public org.springframework.data.elasticsearch.core.query.ByQueryResponse delete(org.springframework.data.elasticsearch.core.query.DeleteQuery query, Class<?> clazz, org.springframework.data.elasticsearch.core.mapping.IndexCoordinates index)
    • update

      public org.springframework.data.elasticsearch.core.query.UpdateResponse update(org.springframework.data.elasticsearch.core.query.UpdateQuery query, org.springframework.data.elasticsearch.core.mapping.IndexCoordinates index)
    • updateByQuery

      public org.springframework.data.elasticsearch.core.query.ByQueryResponse updateByQuery(org.springframework.data.elasticsearch.core.query.UpdateQuery query, org.springframework.data.elasticsearch.core.mapping.IndexCoordinates index)
    • reindex

      public org.springframework.data.elasticsearch.core.reindex.ReindexResponse reindex(org.springframework.data.elasticsearch.core.reindex.ReindexRequest reindexRequest)
    • submitReindex

      public String submitReindex(org.springframework.data.elasticsearch.core.reindex.ReindexRequest reindexRequest)
    • doBulkOperation

      public List<org.springframework.data.elasticsearch.core.IndexedObjectInformation> doBulkOperation(List<?> queries, org.springframework.data.elasticsearch.core.query.BulkOptions bulkOptions, org.springframework.data.elasticsearch.core.mapping.IndexCoordinates index)
      Specified by:
      doBulkOperation in class org.springframework.data.elasticsearch.core.AbstractElasticsearchTemplate
    • prepareWriteRequest

      protected <R extends org.opensearch.action.support.WriteRequest<R>> R prepareWriteRequest(R request)
      Preprocess the write request before it is sent to the server, e.g. by setting the refresh policy if applicable.
      Type Parameters:
      R - the request type
      Parameters:
      request - must not be null.
      Returns:
      the processed WriteRequest.
    • checkForBulkOperationFailure

      protected List<org.springframework.data.elasticsearch.core.IndexedObjectInformation> checkForBulkOperationFailure(org.opensearch.action.bulk.BulkResponse bulkResponse)
      extract the list of IndexedObjectInformation from a BulkResponse.
      Parameters:
      bulkResponse - the response to evaluate
      Returns:
      the list of the IndexedObjectInformations
    • count

      public long count(org.springframework.data.elasticsearch.core.query.Query query, @Nullable Class<?> clazz, org.springframework.data.elasticsearch.core.mapping.IndexCoordinates index)
    • search

      public <T> org.springframework.data.elasticsearch.core.SearchHits<T> search(org.springframework.data.elasticsearch.core.query.Query query, Class<T> clazz, org.springframework.data.elasticsearch.core.mapping.IndexCoordinates index)
    • doSearch

      protected <T> org.springframework.data.elasticsearch.core.SearchHits<T> doSearch(org.springframework.data.elasticsearch.core.query.MoreLikeThisQuery query, Class<T> clazz, org.springframework.data.elasticsearch.core.mapping.IndexCoordinates index)
      Specified by:
      doSearch in class org.springframework.data.elasticsearch.core.AbstractElasticsearchTemplate
    • searchScrollStart

      public <T> org.springframework.data.elasticsearch.core.SearchScrollHits<T> searchScrollStart(long scrollTimeInMillis, org.springframework.data.elasticsearch.core.query.Query query, Class<T> clazz, org.springframework.data.elasticsearch.core.mapping.IndexCoordinates index)
      Specified by:
      searchScrollStart in class org.springframework.data.elasticsearch.core.AbstractElasticsearchTemplate
    • searchScrollContinue

      public <T> org.springframework.data.elasticsearch.core.SearchScrollHits<T> searchScrollContinue(String scrollId, long scrollTimeInMillis, Class<T> clazz, org.springframework.data.elasticsearch.core.mapping.IndexCoordinates index)
      Specified by:
      searchScrollContinue in class org.springframework.data.elasticsearch.core.AbstractElasticsearchTemplate
    • searchScrollClear

      public void searchScrollClear(List<String> scrollIds)
      Specified by:
      searchScrollClear in class org.springframework.data.elasticsearch.core.AbstractElasticsearchTemplate
    • openPointInTime

      public String openPointInTime(org.springframework.data.elasticsearch.core.mapping.IndexCoordinates index, Duration keepAlive, Boolean ignoreUnavailable)
      Specified by:
      openPointInTime in interface org.springframework.data.elasticsearch.core.SearchOperations
      Overrides:
      openPointInTime in class org.springframework.data.elasticsearch.core.AbstractElasticsearchTemplate
    • closePointInTime

      public Boolean closePointInTime(String pit)
      Specified by:
      closePointInTime in interface org.springframework.data.elasticsearch.core.SearchOperations
      Overrides:
      closePointInTime in class org.springframework.data.elasticsearch.core.AbstractElasticsearchTemplate
    • suggest

      public org.opensearch.action.search.SearchResponse suggest(org.opensearch.search.suggest.SuggestBuilder suggestion, org.springframework.data.elasticsearch.core.mapping.IndexCoordinates index)
    • multiSearch

      public <T> List<org.springframework.data.elasticsearch.core.SearchHits<T>> multiSearch(List<? extends org.springframework.data.elasticsearch.core.query.Query> queries, Class<T> clazz, org.springframework.data.elasticsearch.core.mapping.IndexCoordinates index)
    • multiSearch

      public List<org.springframework.data.elasticsearch.core.SearchHits<?>> multiSearch(List<? extends org.springframework.data.elasticsearch.core.query.Query> queries, List<Class<?>> classes)
    • multiSearch

      public List<org.springframework.data.elasticsearch.core.SearchHits<?>> multiSearch(List<? extends org.springframework.data.elasticsearch.core.query.Query> queries, List<Class<?>> classes, org.springframework.data.elasticsearch.core.mapping.IndexCoordinates index)
    • multiSearch

      public List<org.springframework.data.elasticsearch.core.SearchHits<?>> multiSearch(List<? extends org.springframework.data.elasticsearch.core.query.Query> queries, List<Class<?>> classes, List<org.springframework.data.elasticsearch.core.mapping.IndexCoordinates> indexes)
    • getMultiSearchResult

      protected org.opensearch.action.search.MultiSearchResponse.Item[] getMultiSearchResult(org.opensearch.action.search.MultiSearchRequest request)
    • execute

      public <T> T execute(OpenSearchRestTemplate.ClientCallback<T> callback)
      Execute a callback with the RestHighLevelClient
      Type Parameters:
      T - the type returned from the callback
      Parameters:
      callback - the callback to execute, must not be null
      Returns:
      the callback result
    • getClusterVersion

      public String getClusterVersion()
      Specified by:
      getClusterVersion in class org.springframework.data.elasticsearch.core.AbstractElasticsearchTemplate
    • matchAllQuery

      public org.springframework.data.elasticsearch.core.query.Query matchAllQuery()
    • idsQuery

      public org.springframework.data.elasticsearch.core.query.Query idsQuery(List<String> ids)
    • getVendor

      public String getVendor()
      Specified by:
      getVendor in class org.springframework.data.elasticsearch.core.AbstractElasticsearchTemplate
    • getRuntimeLibraryVersion

      public String getRuntimeLibraryVersion()
      Specified by:
      getRuntimeLibraryVersion in class org.springframework.data.elasticsearch.core.AbstractElasticsearchTemplate
    • suggest

      @Deprecated public org.opensearch.action.search.SearchResponse suggest(org.opensearch.search.suggest.SuggestBuilder suggestion, Class<?> clazz)
      Deprecated.
    • queryBuilderWithIds

      public org.springframework.data.elasticsearch.core.query.BaseQueryBuilder queryBuilderWithIds(List<String> ids)