All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.dashbuilder.dataprovider.backend.elasticsearch.rest.ElasticSearchClient Maven / Gradle / Ivy

There is a newer version: 7.73.0.Final
Show newest version
/*
 * Copyright 2014 Red Hat, Inc. and/or its affiliates.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *       http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package org.dashbuilder.dataprovider.backend.elasticsearch.rest;

import org.dashbuilder.dataprovider.backend.elasticsearch.rest.exception.ElasticSearchClientGenericException;
import org.dashbuilder.dataprovider.backend.elasticsearch.rest.model.CountResponse;
import org.dashbuilder.dataprovider.backend.elasticsearch.rest.model.MappingsResponse;
import org.dashbuilder.dataprovider.backend.elasticsearch.rest.model.SearchRequest;
import org.dashbuilder.dataprovider.backend.elasticsearch.rest.model.SearchResponse;
import org.dashbuilder.dataset.DataSetMetadata;
import org.dashbuilder.dataset.def.ElasticSearchDataSetDef;

import java.io.Closeable;

/**
 * 

This is the contract for a JBoss Dashbuilder REST client for ElasticSearch servers.

*

Default ElasticSearch native client implementation is provided by classes in package org.dashbuilder.dataprovider.backend.elasticsearch.rest.impl

*

You can implement your own client too.

* */ public interface ElasticSearchClient extends Closeable { String HEADER_RESPONSE_CODE = "Status-Code"; int RESPONSE_CODE_NOT_FOUND = 404; int RESPONSE_CODE_OK = 200; /** * Builds the client for a given serer URL. * @param serverURL The ElasticSearch server URL. * @return The REST client for the given server URL. */ T serverURL(String serverURL); /** * Builds the client for a given index/es. * @param indexes The ElasticSearch index/es. * @return The REST client for the given index/es. */ T index(String... indexes); /** * Builds the client for a given types/es. * @param types The ElasticSearch types/es. * @return The REST client for the given types/es. */ T type(String... types); /** * Builds the client for a given cluster. * @param clusterName The ElasticSearch cluster name. * @return The REST client for the given cluster. */ T clusterName(String clusterName); /** * Sets the timeout value for the HTTP rest client requests. * @param timeout The timeout value in miliseconds. */ T setTimeout(int timeout); /** * Obtain the mappings for a given index/es. * * @param index The index/es to obtain the mappings. * @return The mappings for the given index/es */ MappingsResponse getMappings(String... index) throws ElasticSearchClientGenericException; /** * Count documents for a given index/es and type/es * @param index The index/es for the document type to count. If value is null returns the count number of all documents if all indexes. * @param type The type/s of the documents to count. If value is null returns the count number of all documents in all indexes or in the index specified by index. * * @return The number of documents for a given index/es and type/es */ CountResponse count(String[] index, String[] type) throws ElasticSearchClientGenericException; /** *

Obtain documents for a given index/es and type/es

*

If the index/es value set in the request is null returns all documents of all indexes.

*

If the type/s value set in the request is null returns all documents in all indexes or in the index specified by index.

* * @param definition The dataset definition. * @param metadata The metadata. * @param searchRequest The search request. * @return The number of documents for a given index/es and type/es */ SearchResponse search(ElasticSearchDataSetDef definition, DataSetMetadata metadata, SearchRequest searchRequest) throws ElasticSearchClientGenericException; }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy