जावा हाई लेवल रेस्ट क्लाइंट (7.x) इलास्टिक्स खोज क्लस्टर के साथ बातचीत करने के लिए एक शक्तिशाली उपकरण है, जो सर्वर संचार को अधिक सुलभ और कुशल बनाता है। इस गाइड में, हम आपको अलीबाबा क्लाउड इलास्टिक्स खोज क्लस्टर पर इलास्टिक्स खोज जावा एपीआई को कॉल करने के लिए उच्च स्तरीय REST क्लाइंट का उपयोग करने के चरणों के बारे में बताएंगे।
सुनिश्चित करें कि आपका क्लस्टर संस्करण आपके द्वारा उपयोग किए जाने वाले जावा हाई लेवल REST क्लाइंट संस्करण के समान या नया है। चरण-दर-चरण निर्देशों के लिए, अलीबाबा क्लाउड इलास्टिक्स खोज क्लस्टर बनाएं देखें।
YAML कॉन्फ़िगरेशन फ़ाइल में ऑटो इंडेक्सिंग सुविधा सक्षम करें। विवरण के लिए, YML फ़ाइल कॉन्फ़िगर करें देखें।
आईपी एड्रेस श्वेतसूची को कॉन्फ़िगर करके उचित संचार सुनिश्चित करें। यदि आप इंटरनेट पर क्लस्टर तक पहुंच रहे हैं, तो सार्वजनिक या निजी आईपी पते को कॉन्फ़िगर करें श्वेतसूची में दिशानिर्देशों का पालन करके आवश्यक आईपी पते से अनुरोधों की अनुमति दें।
जावा डेवलपमेंट किट (जेडीके) संस्करण 1.8 या बाद का संस्करण स्थापित करें। अधिक जानकारी के लिए, JDK इंस्टॉल करें देखें।
अपनी 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 { MapjsonMap = 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-दिन का निःशुल्क परीक्षण शुरू करने के लिए यहां क्लिक करें
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3