Sobes.tech
Junior — Middle

Czy możesz wyjaśnić, czym jest Elasticsearch i jak jest używany do wyszukiwania i analizy danych?

sobes.tech AI

Odpowiedź od AI

Elasticsearch to rozproszony system wyszukiwania i analizy typu open source, oparty na silniku Apache Lucene. Umożliwia efektywne indeksowanie i szybkie wyszukiwanie w dużych ilościach danych ustrukturyzowanych i nieustrukturyzowanych.

Główne cechy Elasticsearch:

  • Wyszukiwanie pełnotekstowe z wysoką prędkością i trafnością.
  • Skalowalność: łatwo rozbudowuje się na wiele węzłów.
  • Analiza w czasie rzeczywistym: obsługa agregacji i złożonych zapytań.
  • Elastyczny schemat: obsługa dynamicznego indeksowania dokumentów JSON.

Zastosowania:

  • Wyszukiwanie na stronach internetowych i w aplikacjach.
  • Logowanie i monitorowanie (np. w połączeniu z Kibana).
  • Analiza dużych danych.

Przykład użycia w C# z biblioteką NEST:

var settings = new ConnectionSettings(new Uri("http://localhost:9200")).DefaultIndex("products");
var client = new ElasticClient(settings);

var searchResponse = client.Search<Product>(s => s
    .Query(q => q.Match(m => m.Field(f => f.Name).Query("laptop")))
);

foreach (var hit in searchResponse.Hits)
{
    Console.WriteLine(hit.Source.Name);
}

Tutaj szukamy dokumentów z polem Name zawierającym "laptop".