Class ElasticSearchIndexProvider

  • All Implemented Interfaces:
    org.uberfire.commons.lifecycle.Disposable, org.uberfire.ext.metadata.provider.IndexProvider

    public class ElasticSearchIndexProvider
    extends Object
    implements org.uberfire.ext.metadata.provider.IndexProvider
    • Constructor Detail

      • ElasticSearchIndexProvider

        public ElasticSearchIndexProvider​(org.uberfire.ext.metadata.engine.MetaModelStore metaModelStore,
                                          ElasticSearchContext elasticSearchContext,
                                          org.apache.lucene.analysis.Analyzer analyzer)
    • Method Detail

      • getClient

        public org.elasticsearch.client.Client getClient()
      • isFreshIndex

        public boolean isFreshIndex​(org.uberfire.ext.metadata.model.KCluster cluster)
        Specified by:
        isFreshIndex in interface org.uberfire.ext.metadata.provider.IndexProvider
      • index

        public void index​(org.uberfire.ext.metadata.model.KObject object)
        Specified by:
        index in interface org.uberfire.ext.metadata.provider.IndexProvider
      • index

        public void index​(List<org.uberfire.ext.metadata.model.KObject> elements)
        Specified by:
        index in interface org.uberfire.ext.metadata.provider.IndexProvider
      • createIndexRequest

        public org.elasticsearch.action.index.IndexRequestBuilder createIndexRequest​(ElasticMetaObject object)
      • exists

        public boolean exists​(String index,
                              String id)
        Specified by:
        exists in interface org.uberfire.ext.metadata.provider.IndexProvider
      • delete

        public void delete​(String index)
        Specified by:
        delete in interface org.uberfire.ext.metadata.provider.IndexProvider
      • delete

        public void delete​(String index,
                           String id)
        Specified by:
        delete in interface org.uberfire.ext.metadata.provider.IndexProvider
      • findById

        public List<org.uberfire.ext.metadata.model.KObject> findById​(String index,
                                                                      String id)
                                                               throws IOException
        Specified by:
        findById in interface org.uberfire.ext.metadata.provider.IndexProvider
        Throws:
        IOException
      • rename

        public void rename​(String index,
                           String id,
                           org.uberfire.ext.metadata.model.KObject to)
        Specified by:
        rename in interface org.uberfire.ext.metadata.provider.IndexProvider
      • getIndexSize

        public long getIndexSize​(String index)
        Specified by:
        getIndexSize in interface org.uberfire.ext.metadata.provider.IndexProvider
      • findByQuery

        public List<org.uberfire.ext.metadata.model.KObject> findByQuery​(List<String> indices,
                                                                         org.apache.lucene.search.Query query,
                                                                         int limit)
        Specified by:
        findByQuery in interface org.uberfire.ext.metadata.provider.IndexProvider
      • findByQuery

        public List<org.uberfire.ext.metadata.model.KObject> findByQuery​(List<String> indices,
                                                                         org.apache.lucene.search.Query query,
                                                                         org.apache.lucene.search.Sort sort,
                                                                         int limit)
        Specified by:
        findByQuery in interface org.uberfire.ext.metadata.provider.IndexProvider
      • findByQueryRaw

        protected Optional<org.elasticsearch.action.search.SearchResponse> findByQueryRaw​(List<String> indices,
                                                                                          org.apache.lucene.search.Query query,
                                                                                          org.apache.lucene.search.Sort sort,
                                                                                          int limit)
      • addSort

        protected void addSort​(org.elasticsearch.search.builder.SearchSourceBuilder searchSourceBuilder,
                               org.apache.lucene.search.SortField sortField)
      • escapeSpecialCharacters

        protected String escapeSpecialCharacters​(String queryString)
      • sanitizeIndex

        protected String sanitizeIndex​(String index)
      • findHitsByQuery

        public long findHitsByQuery​(List<String> indices,
                                    org.apache.lucene.search.Query query)
        Specified by:
        findHitsByQuery in interface org.uberfire.ext.metadata.provider.IndexProvider
      • getIndices

        public List<String> getIndices()
        Specified by:
        getIndices in interface org.uberfire.ext.metadata.provider.IndexProvider
      • observerInitialization

        public void observerInitialization​(Runnable runnable)
        Specified by:
        observerInitialization in interface org.uberfire.ext.metadata.provider.IndexProvider
      • isAlive

        public boolean isAlive()
        Specified by:
        isAlive in interface org.uberfire.ext.metadata.provider.IndexProvider
      • putMapping

        public void putMapping​(String index,
                               String type,
                               org.uberfire.ext.metadata.model.schema.MetaObject metaObject)
      • getMapping

        public Optional<org.elasticsearch.cluster.metadata.MappingMetaData> getMapping​(String index,
                                                                                       String type)
      • putMapping

        public void putMapping​(String index,
                               String type,
                               List<org.uberfire.ext.metadata.model.schema.MetaProperty> metaProperties)
      • createElasticType

        protected String createElasticType​(org.uberfire.ext.metadata.model.schema.MetaProperty metaProperty)
      • dispose

        public void dispose()
        Specified by:
        dispose in interface org.uberfire.commons.lifecycle.Disposable