Class ReactiveOpenSearchTemplate

java.lang.Object
org.springframework.data.elasticsearch.core.AbstractReactiveElasticsearchTemplate
org.opensearch.data.client.osc.ReactiveOpenSearchTemplate
All Implemented Interfaces:
org.springframework.beans.factory.Aware, org.springframework.context.ApplicationContextAware, org.springframework.data.elasticsearch.core.ReactiveDocumentOperations, org.springframework.data.elasticsearch.core.ReactiveElasticsearchOperations, org.springframework.data.elasticsearch.core.ReactiveSearchOperations, org.springframework.data.elasticsearch.core.script.ReactiveScriptOperations, org.springframework.data.elasticsearch.core.sql.ReactiveSqlOperations

public class ReactiveOpenSearchTemplate extends org.springframework.data.elasticsearch.core.AbstractReactiveElasticsearchTemplate
Implementation of ReactiveElasticsearchOperations using the new OpenSearch client.
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    static interface 
    ReactiveOpenSearchTemplate.ClientCallback<T extends org.reactivestreams.Publisher<?>>
    Callback interface to be used with execute(ReactiveElasticsearchTemplate.ClientCallback) for operating directly on ReactiveOpenSearchClient.

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

    org.springframework.data.elasticsearch.core.AbstractReactiveElasticsearchTemplate.DocumentCallback<T extends Object>, org.springframework.data.elasticsearch.core.AbstractReactiveElasticsearchTemplate.Entities<T extends Object>, org.springframework.data.elasticsearch.core.AbstractReactiveElasticsearchTemplate.IndexResponseMetaData, org.springframework.data.elasticsearch.core.AbstractReactiveElasticsearchTemplate.ReadDocumentCallback<T extends Object>, org.springframework.data.elasticsearch.core.AbstractReactiveElasticsearchTemplate.ReadSearchDocumentCallback<T extends Object>, org.springframework.data.elasticsearch.core.AbstractReactiveElasticsearchTemplate.SearchDocumentCallback<T extends Object>
  • Field Summary

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

    converter, entityCallbacks, entityOperations, mappingContext, refreshPolicy, routingResolver

    Fields inherited from interface org.springframework.data.elasticsearch.core.ReactiveDocumentOperations

    FLUX_SAVE_BULK_SIZE
  • Constructor Summary

    Constructors
    Constructor
    Description
    ReactiveOpenSearchTemplate(ReactiveOpenSearchClient client, org.springframework.data.elasticsearch.core.convert.ElasticsearchConverter converter)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    reactor.core.publisher.Flux<? extends org.springframework.data.elasticsearch.core.AggregationContainer<?>>
    aggregate(org.springframework.data.elasticsearch.core.query.Query query, Class<?> entityType, org.springframework.data.elasticsearch.core.mapping.IndexCoordinates index)
     
    reactor.core.publisher.Mono<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)
     
    reactor.core.publisher.Mono<Boolean>
     
    org.springframework.data.elasticsearch.core.cluster.ReactiveClusterOperations
     
    reactor.core.publisher.Mono<org.springframework.data.elasticsearch.core.query.ByQueryResponse>
    delete(org.springframework.data.elasticsearch.core.query.DeleteQuery query, Class<?> entityType, org.springframework.data.elasticsearch.core.mapping.IndexCoordinates index)
     
    reactor.core.publisher.Mono<Boolean>
     
     
    protected reactor.core.publisher.Mono<Long>
    doCount(org.springframework.data.elasticsearch.core.query.Query query, Class<?> entityType, org.springframework.data.elasticsearch.core.mapping.IndexCoordinates index)
     
    protected reactor.core.publisher.Mono<String>
    doDeleteById(String id, String routing, org.springframework.data.elasticsearch.core.mapping.IndexCoordinates index)
     
    protected reactor.core.publisher.Mono<Boolean>
    doExists(String id, org.springframework.data.elasticsearch.core.mapping.IndexCoordinates index)
     
    protected reactor.core.publisher.Flux<org.springframework.data.elasticsearch.core.document.SearchDocument>
    doFind(org.springframework.data.elasticsearch.core.query.Query query, Class<?> clazz, org.springframework.data.elasticsearch.core.mapping.IndexCoordinates index)
     
    protected <T> reactor.core.publisher.Mono<org.springframework.data.elasticsearch.core.document.SearchDocumentResponse>
    doFindForResponse(org.springframework.data.elasticsearch.core.query.Query query, Class<?> clazz, org.springframework.data.elasticsearch.core.mapping.IndexCoordinates index)
     
    protected <T> reactor.core.publisher.Mono<reactor.util.function.Tuple2<T,org.springframework.data.elasticsearch.core.AbstractReactiveElasticsearchTemplate.IndexResponseMetaData>>
    doIndex(T entity, org.springframework.data.elasticsearch.core.mapping.IndexCoordinates index)
     
    <T> org.reactivestreams.Publisher<T>
    execute(ReactiveOpenSearchTemplate.ClientCallback<org.reactivestreams.Publisher<T>> callback)
    Execute a callback with the ReactiveOpenSearchClient and provide exception translation.
    <T> reactor.core.publisher.Mono<T>
    get(String id, Class<T> entityType, org.springframework.data.elasticsearch.core.mapping.IndexCoordinates index)
     
    reactor.core.publisher.Mono<String>
     
    reactor.core.publisher.Mono<String>
     
    reactor.core.publisher.Mono<org.springframework.data.elasticsearch.core.script.Script>
     
    reactor.core.publisher.Mono<String>
     
    org.springframework.data.elasticsearch.core.query.Query
     
    org.springframework.data.elasticsearch.core.ReactiveIndexOperations
    indexOps(Class<?> clazz)
     
    org.springframework.data.elasticsearch.core.ReactiveIndexOperations
    indexOps(org.springframework.data.elasticsearch.core.mapping.IndexCoordinates index)
     
    org.springframework.data.elasticsearch.core.query.Query
     
    <T> reactor.core.publisher.Flux<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)
     
    reactor.core.publisher.Mono<String>
    openPointInTime(org.springframework.data.elasticsearch.core.mapping.IndexCoordinates index, Duration keepAlive, Boolean ignoreUnavailable)
     
    reactor.core.publisher.Mono<Boolean>
    putScript(org.springframework.data.elasticsearch.core.script.Script script)
     
    org.springframework.data.elasticsearch.core.query.BaseQueryBuilder
     
    reactor.core.publisher.Mono<org.springframework.data.elasticsearch.core.reindex.ReindexResponse>
    reindex(org.springframework.data.elasticsearch.core.reindex.ReindexRequest reindexRequest)
     
    <T> reactor.core.publisher.Flux<T>
    saveAll(reactor.core.publisher.Mono<? extends Collection<? extends T>> entitiesPublisher, org.springframework.data.elasticsearch.core.mapping.IndexCoordinates index)
     
    reactor.core.publisher.Mono<org.springframework.data.elasticsearch.core.sql.SqlResponse>
    search(org.springframework.data.elasticsearch.core.query.SqlQuery query)
     
    reactor.core.publisher.Mono<String>
    submitReindex(org.springframework.data.elasticsearch.core.reindex.ReindexRequest reindexRequest)
     
    reactor.core.publisher.Mono<org.springframework.data.elasticsearch.core.query.UpdateResponse>
    update(org.springframework.data.elasticsearch.core.query.UpdateQuery updateQuery, org.springframework.data.elasticsearch.core.mapping.IndexCoordinates index)
     
    reactor.core.publisher.Mono<org.springframework.data.elasticsearch.core.query.ByQueryResponse>
    updateByQuery(org.springframework.data.elasticsearch.core.query.UpdateQuery updateQuery, org.springframework.data.elasticsearch.core.mapping.IndexCoordinates index)
     

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

    aggregate, count, count, delete, delete, delete, delete, delete, exists, exists, get, getElasticsearchConverter, getEntityRouting, getIndexCoordinatesFor, getIndexQuery, getPersistentEntityFor, getRefreshPolicy, logVersions, maybeCallbackAfterConvert, maybeCallbackAfterLoad, maybeCallbackAfterSave, maybeCallbackBeforeConvert, multiGet, save, save, save, save, saveAll, search, search, searchForHits, searchForHits, searchForPage, searchForPage, setApplicationContext, setEntityCallbacks, setRefreshPolicy, suggest, suggest, 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.ReactiveDocumentOperations

    bulkUpdate, save, save, save, save, saveAll, saveAll

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

    count, openPointInTime, search, search, searchForHits, searchForHits, searchForPage, searchForPage
  • Constructor Details

    • ReactiveOpenSearchTemplate

      public ReactiveOpenSearchTemplate(ReactiveOpenSearchClient client, org.springframework.data.elasticsearch.core.convert.ElasticsearchConverter converter)
  • Method Details

    • doIndex

      protected <T> reactor.core.publisher.Mono<reactor.util.function.Tuple2<T,org.springframework.data.elasticsearch.core.AbstractReactiveElasticsearchTemplate.IndexResponseMetaData>> doIndex(T entity, org.springframework.data.elasticsearch.core.mapping.IndexCoordinates index)
      Specified by:
      doIndex in class org.springframework.data.elasticsearch.core.AbstractReactiveElasticsearchTemplate
    • saveAll

      public <T> reactor.core.publisher.Flux<T> saveAll(reactor.core.publisher.Mono<? extends Collection<? extends T>> entitiesPublisher, org.springframework.data.elasticsearch.core.mapping.IndexCoordinates index)
    • doExists

      protected reactor.core.publisher.Mono<Boolean> doExists(String id, org.springframework.data.elasticsearch.core.mapping.IndexCoordinates index)
      Specified by:
      doExists in class org.springframework.data.elasticsearch.core.AbstractReactiveElasticsearchTemplate
    • delete

      public reactor.core.publisher.Mono<org.springframework.data.elasticsearch.core.query.ByQueryResponse> delete(org.springframework.data.elasticsearch.core.query.DeleteQuery query, Class<?> entityType, org.springframework.data.elasticsearch.core.mapping.IndexCoordinates index)
    • get

      public <T> reactor.core.publisher.Mono<T> get(String id, Class<T> entityType, org.springframework.data.elasticsearch.core.mapping.IndexCoordinates index)
    • reindex

      public reactor.core.publisher.Mono<org.springframework.data.elasticsearch.core.reindex.ReindexResponse> reindex(org.springframework.data.elasticsearch.core.reindex.ReindexRequest reindexRequest)
    • submitReindex

      public reactor.core.publisher.Mono<String> submitReindex(org.springframework.data.elasticsearch.core.reindex.ReindexRequest reindexRequest)
    • update

      public reactor.core.publisher.Mono<org.springframework.data.elasticsearch.core.query.UpdateResponse> update(org.springframework.data.elasticsearch.core.query.UpdateQuery updateQuery, org.springframework.data.elasticsearch.core.mapping.IndexCoordinates index)
    • updateByQuery

      public reactor.core.publisher.Mono<org.springframework.data.elasticsearch.core.query.ByQueryResponse> updateByQuery(org.springframework.data.elasticsearch.core.query.UpdateQuery updateQuery, org.springframework.data.elasticsearch.core.mapping.IndexCoordinates index)
    • bulkUpdate

      public reactor.core.publisher.Mono<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)
    • doDeleteById

      protected reactor.core.publisher.Mono<String> doDeleteById(String id, @Nullable String routing, org.springframework.data.elasticsearch.core.mapping.IndexCoordinates index)
      Specified by:
      doDeleteById in class org.springframework.data.elasticsearch.core.AbstractReactiveElasticsearchTemplate
    • multiGet

      public <T> reactor.core.publisher.Flux<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)
    • doCopy

      protected ReactiveOpenSearchTemplate doCopy()
      Specified by:
      doCopy in class org.springframework.data.elasticsearch.core.AbstractReactiveElasticsearchTemplate
    • doFind

      protected reactor.core.publisher.Flux<org.springframework.data.elasticsearch.core.document.SearchDocument> doFind(org.springframework.data.elasticsearch.core.query.Query query, Class<?> clazz, org.springframework.data.elasticsearch.core.mapping.IndexCoordinates index)
      Specified by:
      doFind in class org.springframework.data.elasticsearch.core.AbstractReactiveElasticsearchTemplate
    • doCount

      protected reactor.core.publisher.Mono<Long> doCount(org.springframework.data.elasticsearch.core.query.Query query, Class<?> entityType, org.springframework.data.elasticsearch.core.mapping.IndexCoordinates index)
      Specified by:
      doCount in class org.springframework.data.elasticsearch.core.AbstractReactiveElasticsearchTemplate
    • doFindForResponse

      protected <T> reactor.core.publisher.Mono<org.springframework.data.elasticsearch.core.document.SearchDocumentResponse> doFindForResponse(org.springframework.data.elasticsearch.core.query.Query query, Class<?> clazz, org.springframework.data.elasticsearch.core.mapping.IndexCoordinates index)
      Specified by:
      doFindForResponse in class org.springframework.data.elasticsearch.core.AbstractReactiveElasticsearchTemplate
    • aggregate

      public reactor.core.publisher.Flux<? extends org.springframework.data.elasticsearch.core.AggregationContainer<?>> aggregate(org.springframework.data.elasticsearch.core.query.Query query, Class<?> entityType, org.springframework.data.elasticsearch.core.mapping.IndexCoordinates index)
    • openPointInTime

      public reactor.core.publisher.Mono<String> openPointInTime(org.springframework.data.elasticsearch.core.mapping.IndexCoordinates index, Duration keepAlive, Boolean ignoreUnavailable)
      Specified by:
      openPointInTime in interface org.springframework.data.elasticsearch.core.ReactiveSearchOperations
      Overrides:
      openPointInTime in class org.springframework.data.elasticsearch.core.AbstractReactiveElasticsearchTemplate
    • closePointInTime

      public reactor.core.publisher.Mono<Boolean> closePointInTime(String pit)
      Specified by:
      closePointInTime in interface org.springframework.data.elasticsearch.core.ReactiveSearchOperations
      Overrides:
      closePointInTime in class org.springframework.data.elasticsearch.core.AbstractReactiveElasticsearchTemplate
    • putScript

      public reactor.core.publisher.Mono<Boolean> putScript(org.springframework.data.elasticsearch.core.script.Script script)
      Specified by:
      putScript in interface org.springframework.data.elasticsearch.core.script.ReactiveScriptOperations
      Overrides:
      putScript in class org.springframework.data.elasticsearch.core.AbstractReactiveElasticsearchTemplate
    • getScript

      public reactor.core.publisher.Mono<org.springframework.data.elasticsearch.core.script.Script> getScript(String name)
      Specified by:
      getScript in interface org.springframework.data.elasticsearch.core.script.ReactiveScriptOperations
      Overrides:
      getScript in class org.springframework.data.elasticsearch.core.AbstractReactiveElasticsearchTemplate
    • deleteScript

      public reactor.core.publisher.Mono<Boolean> deleteScript(String name)
      Specified by:
      deleteScript in interface org.springframework.data.elasticsearch.core.script.ReactiveScriptOperations
      Overrides:
      deleteScript in class org.springframework.data.elasticsearch.core.AbstractReactiveElasticsearchTemplate
    • getVendor

      public reactor.core.publisher.Mono<String> getVendor()
      Specified by:
      getVendor in class org.springframework.data.elasticsearch.core.AbstractReactiveElasticsearchTemplate
    • getRuntimeLibraryVersion

      public reactor.core.publisher.Mono<String> getRuntimeLibraryVersion()
      Specified by:
      getRuntimeLibraryVersion in class org.springframework.data.elasticsearch.core.AbstractReactiveElasticsearchTemplate
    • getClusterVersion

      public reactor.core.publisher.Mono<String> getClusterVersion()
      Specified by:
      getClusterVersion in class org.springframework.data.elasticsearch.core.AbstractReactiveElasticsearchTemplate
    • indexOps

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

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

      public org.springframework.data.elasticsearch.core.cluster.ReactiveClusterOperations cluster()
    • matchAllQuery

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

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

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

      public <T> org.reactivestreams.Publisher<T> execute(ReactiveOpenSearchTemplate.ClientCallback<org.reactivestreams.Publisher<T>> callback)
      Execute a callback with the ReactiveOpenSearchClient and provide exception translation.
      Type Parameters:
      T - the type returned from the callback
      Parameters:
      callback - the callback to execute, must not be null
      Returns:
      the callback result
    • search

      public reactor.core.publisher.Mono<org.springframework.data.elasticsearch.core.sql.SqlResponse> search(org.springframework.data.elasticsearch.core.query.SqlQuery query)