"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > जावा उच्च स्तरीय REST क्लाइंट के साथ अपने इलास्टिक्स खोज अनुभव को उन्नत करें ()

जावा उच्च स्तरीय REST क्लाइंट के साथ अपने इलास्टिक्स खोज अनुभव को उन्नत करें ()

2024-08-01 को प्रकाशित
ब्राउज़ करें:281

Elevate Your Elasticsearch Experience with Java High Level REST Client ()

परिचय

जावा हाई लेवल रेस्ट क्लाइंट (7.x) इलास्टिक्स खोज क्लस्टर के साथ बातचीत करने के लिए एक शक्तिशाली उपकरण है, जो सर्वर संचार को अधिक सुलभ और कुशल बनाता है। इस गाइड में, हम आपको अलीबाबा क्लाउड इलास्टिक्स खोज क्लस्टर पर इलास्टिक्स खोज जावा एपीआई को कॉल करने के लिए उच्च स्तरीय REST क्लाइंट का उपयोग करने के चरणों के बारे में बताएंगे।

तैयारी

चरण 1: एक इलास्टिक्स खोज क्लस्टर बनाएं

सुनिश्चित करें कि आपका क्लस्टर संस्करण आपके द्वारा उपयोग किए जाने वाले जावा हाई लेवल REST क्लाइंट संस्करण के समान या नया है। चरण-दर-चरण निर्देशों के लिए, अलीबाबा क्लाउड इलास्टिक्स खोज क्लस्टर बनाएं देखें।

चरण 2: ऑटो इंडेक्सिंग सक्षम करें

YAML कॉन्फ़िगरेशन फ़ाइल में ऑटो इंडेक्सिंग सुविधा सक्षम करें। विवरण के लिए, YML फ़ाइल कॉन्फ़िगर करें देखें।

चरण 3: आईपी पता श्वेतसूची कॉन्फ़िगर करें

आईपी एड्रेस श्वेतसूची को कॉन्फ़िगर करके उचित संचार सुनिश्चित करें। यदि आप इंटरनेट पर क्लस्टर तक पहुंच रहे हैं, तो सार्वजनिक या निजी आईपी पते को कॉन्फ़िगर करें श्वेतसूची में दिशानिर्देशों का पालन करके आवश्यक आईपी पते से अनुरोधों की अनुमति दें।

चरण 4: जेडीके स्थापित करें

जावा डेवलपमेंट किट (जेडीके) संस्करण 1.8 या बाद का संस्करण स्थापित करें। अधिक जानकारी के लिए, JDK इंस्टॉल करें देखें।

चरण 5: एक जावा मावेन प्रोजेक्ट बनाएं

अपनी pom.xml फ़ाइल में आवश्यक निर्भरताएँ जोड़ें। आपके द्वारा उपयोग किए जा रहे उच्च स्तरीय REST क्लाइंट के विशिष्ट संस्करण में निर्भरता में संस्करण संख्या को 7.x से बदलें।


    org.elasticsearch.client
    elasticsearch-rest-high-level-client
    7.x


    org.apache.logging.log4j
    log4j-core
    2.20.0


    org.apache.logging.log4j
    log4j-api
    2.20.0

उदाहरण: एक सूचकांक का प्रबंधन करना

नीचे उच्च स्तरीय REST क्लाइंट का उपयोग करके एक इंडेक्स बनाने और हटाने का एक उदाहरण है। प्लेसहोल्डर्स {} को अपने विशिष्ट मापदंडों से बदलें।

import org.apache.http.HttpHost;
import org.apache.http.auth.AuthScope;
import org.apache.http.auth.UsernamePasswordCredentials;
import org.apache.http.client.CredentialsProvider;
import org.apache.http.impl.client.BasicCredentialsProvider;
import org.apache.http.impl.nio.client.HttpAsyncClientBuilder;
import org.elasticsearch.action.delete.DeleteRequest;
import org.elasticsearch.action.delete.DeleteResponse;
import org.elasticsearch.action.index.IndexRequest;
import org.elasticsearch.action.index.IndexResponse;
import org.elasticsearch.client.*;

import java.io.IOException;
import java.util.HashMap;
import java.util.Map;

public class RestClientExample {
    private static final RequestOptions COMMON_OPTIONS;

    static {
        RequestOptions.Builder builder = RequestOptions.DEFAULT.toBuilder();
        builder.setHttpAsyncResponseConsumerFactory(
                new HttpAsyncResponseConsumerFactory
                        .HeapBufferedResponseConsumerFactory(30 * 1024 * 1024));
        COMMON_OPTIONS = builder.build();
    }

    public static void main(String[] args) {
        final CredentialsProvider credentialsProvider = new BasicCredentialsProvider();
        credentialsProvider.setCredentials(AuthScope.ANY, 
            new UsernamePasswordCredentials("{Username}", "{Password}"));

        RestClientBuilder builder = RestClient.builder(new HttpHost("{Endpoint of the Elasticsearch cluster}", 9200, "http"))
                .setHttpClientConfigCallback(new RestClientBuilder.HttpClientConfigCallback() {
                    @Override
                    public HttpAsyncClientBuilder customizeHttpClient(HttpAsyncClientBuilder httpClientBuilder) {
                        return httpClientBuilder.setDefaultCredentialsProvider(credentialsProvider);
                    }
                });

        RestHighLevelClient highClient = new RestHighLevelClient(builder);

        try {
            Map jsonMap = new HashMap();
            jsonMap.put("{field_01}", "{value_01}");
            jsonMap.put("{field_02}", "{value_02}");

            IndexRequest indexRequest = new IndexRequest("{index_name}", "_doc", "{doc_id}").source(jsonMap);
            IndexResponse indexResponse = highClient.index(indexRequest, COMMON_OPTIONS);
            long version = indexResponse.getVersion();
            System.out.println("Index document successfully! "   version);

            DeleteRequest deleteRequest = new DeleteRequest("{index_name}", "_doc", "{doc_id}");
            DeleteResponse deleteResponse = highClient.delete(deleteRequest, COMMON_OPTIONS);
            System.out.println("Delete document successfully! \n"   deleteResponse.toString());

            highClient.close();
        } catch (IOException ioException) {
            ioException.printStackTrace();
        }
    }
}

उच्च-समवर्ती विन्यास

उच्च-समवर्ती परिदृश्यों के लिए, क्लाइंट कनेक्शन की संख्या बढ़ाएँ:

httpClientBuilder.setMaxConnTotal(500);
httpClientBuilder.setMaxConnPerRoute(300);

नमूना कोड स्निपेट:

String host = "127.0.0.1";
int port = 9200;
String username = "elastic";
String password = "passwd";
final int max_conn_total = 500;
final int max_conn_per_route = 300;

RestHighLevelClient restHighLevelClient = new RestHighLevelClient(
  RestClient.builder(new HttpHost(host, port, "http")).setHttpClientConfigCallback(new RestClientBuilder.HttpClientConfigCallback() {
    public HttpAsyncClientBuilder customizeHttpClient(HttpAsyncClientBuilder httpClientBuilder) {
      httpClientBuilder.setMaxConnTotal(max_conn_total);
      httpClientBuilder.setMaxConnPerRoute(max_conn_per_route);
      return httpClientBuilder.setDefaultCredentialsProvider(credentialsProvider);
    }
  })
);

सुविधाओं और कॉन्फ़िगरेशन पर अधिक विवरण के लिए, आधिकारिक जावा हाई लेवल REST क्लाइंट दस्तावेज़ देखें।

निष्कर्ष

जावा हाई लेवल रेस्ट क्लाइंट का उपयोग आपके अलीबाबा क्लाउड इलास्टिक्स खोज क्लस्टर के साथ कुशल इंटरैक्शन सुनिश्चित करता है। अपने Elasticsearch सेटअप का अधिकतम लाभ उठाने के लिए इस गाइड का पालन करें।
अलीबाबा क्लाउड पर Elasticsearch के साथ अपनी यात्रा शुरू करने के लिए तैयार हैं? अपने डेटा को विज़ुअल मास्टरपीस में बदलने के लिए हमारे अनुरूप क्लाउड समाधान और सेवाओं का अन्वेषण करें।

अपना 30-दिन का निःशुल्क परीक्षण शुरू करने के लिए यहां क्लिक करें

विज्ञप्ति वक्तव्य यह आलेख यहां पुन: प्रस्तुत किया गया है: https://dev.to/a_lucas/elevate-your-elasticsearch-experience-with-java-high-level-rest-client-7x-348k?1 यदि कोई उल्लंघन है, तो कृपया स्टडी_गोलंग से संपर्क करें @163.com हटाएं
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3