C# (.NET) के लिए Elasticsearch क्लाइंट: NEST और Elastic.Clients.Elasticsearch
Elasticsearch Apache Lucene पर आधारित एक शक्तिशाली वितरित खोज और विश्लेषण प्रणाली है। C# (.NET) एप्लिकेशन से इसके साथ काम करने के लिए कई आधिकारिक और तृतीय-पक्ष क्लाइंट मौजूद हैं। इस लेख में, हम दो मुख्य लाइब्रेरीज़ पर विस्तार से चर्चा करेंगे: NEST (उच्च-स्तरीय क्लाइंट) और Elastic.Clients.Elasticsearch (Elastic का नया आधिकारिक क्लाइंट)। आप सीखेंगे कि इंडेक्सिंग, सर्च और डेटा प्रबंधन के लिए उन्हें कैसे इंस्टॉल, कॉन्फ़िगर और उपयोग करें।
1. NEST — उच्च-स्तरीय क्लाइंट (जटिल प्रोजेक्ट्स के लिए अनुशंसित)
NEST एक पुराना लेकिन सिद्ध क्लाइंट है जो POCO क्लासेस का उपयोग करके एक सख्ती से टाइप किया गया API प्रदान करता है। यह स्वचालित रूप से JSON को C# ऑब्जेक्ट्स में सीरियलाइज़/डीसीरियलाइज़ करता है और क्वेरी बनाने के लिए fluent-सिंटैक्स का समर्थन करता है।
इंस्टॉलेशन
dotnet add package NESTNEST उपयोग का उदाहरण
using Nest;using System;
// दस्तावेज़ के लिए POCO क्लासpublic class Article{ public int Id { get; set; } public string Title { get; set; } public string Content { get; set; } public DateTime PublishDate { get; set; }}
class Program{ static async Task Main(string[] args) { // कनेक्शन सेटिंग्स var settings = new ConnectionSettings(new Uri("http://localhost:9200")) .DefaultIndex("articles") .EnableDebugMode(); // क्वेरी लॉगिंग सक्षम करें
var client = new ElasticClient(settings);
// 1. दस्तावेज़ इंडेक्स करना var article = new Article { Id = 1, Title = "C# में Elasticsearch", Content = ".NET से Elasticsearch के साथ काम करने की विस्तृत गाइड", PublishDate = DateTime.UtcNow };
var indexResponse = await client.IndexDocumentAsync(article); Console.WriteLine($"इंडेक्सिंग: {indexResponse.IsValid}");
// 2. खोज var searchResponse = await client.SearchAsync<Article>(s => s .Query(q => q .Match(m => m .Field(f => f.Title) .Query("Elasticsearch") ) ) );
foreach (var hit in searchResponse.Hits) { Console.WriteLine($"मिला: {hit.Source.Title}"); } }}2. Elastic.Clients.Elasticsearch — नया आधिकारिक क्लाइंट
संस्करण 8.x से शुरू करके, Elastic ने एक नया क्लाइंट Elastic.Clients.Elasticsearch (जिसे Elasticsearch.Net भी कहा जाता है) जारी किया है। यह हल्का, एसिंक्रोनस है और Elasticsearch के नवीनतम संस्करणों के अनुरूप है। NEST के विपरीत, इसमें POCO क्लासेस का अनिवार्य उपयोग नहीं है, हालांकि यह उनका समर्थन करता है।
इंस्टॉलेशन
dotnet add package Elastic.Clients.Elasticsearchनए क्लाइंट के उपयोग का उदाहरण
using Elastic.Clients.Elasticsearch;using Elastic.Clients.Elasticsearch.QueryDsl;using System;
class Program{ static async Task Main(string[] args) { // कनेक्शन सेटिंग्स var settings = new ElasticsearchClientSettings(new Uri("http://localhost:9200")) .DefaultIndex("articles");
var client = new ElasticsearchClient(settings);
// 1. POCO के साथ इंडेक्सिंग var article = new Article { Id = 2, Title = "नया Elasticsearch क्लाइंट", Content = "Elastic.Clients.Elasticsearch की क्षमताओं का अवलोकन", PublishDate = DateTime.UtcNow };
var indexResponse = await client.IndexAsync(article, idx => idx.Index("articles")); Console.WriteLine($"इंडेक्सिंग: {indexResponse.IsValidResponse}");
// 2. लैम्ब्डा-सिंटैक्स का उपयोग करके खोज var se पुस्तकालय में भी
Go के लिए cobra/pflag: उदाहरणों के साथ पूर्ण गाइड
TypeScript में YAML के साथ काम करें: पार्सिंग, जनरेशन और वैलिडेशन
जावास्क्रिप्ट (Node.js) के लिए OAuth क्लाइंट: अवलोकन और उपयोग के उदाहरण
जावा में HTML पार्सिंग: Jsoup, HtmlUnit और अन्य उपकरण