Lucene ve Elasticsearch arasındaki fark nedir


139

ElasticSearch'ün Apache Lucene üzerine inşa edildiğini biliyorum, ancak ikisi arasındaki önemli farkları bilmek istiyorum.

Yanıtlar:


219

Lucene bir Java kitaplığıdır . Bunu projenize dahil edebilir ve işlev çağrılarını kullanarak işlevlerine bakabilirsiniz.

Elasticsearch bir olan JSON Tabanlı, Dağıtılmış , web sunucusu Lucene üzerine inşa. Altında asıl işi yapan Lucene olsa da, Elasticsearch bize Lucene üzerinde uygun bir katman sağlıyor. Elasticsearch'te oluşturulan her parça ayrı bir Lucene örneğidir. Yani özetlemek için

  1. Elasticsearch, Lucene üzerine inşa edilmiştir ve Lucene özelliklerine atıfta bulunmak için JSON tabanlı bir REST API sağlar.
  2. Elasticsearch, Lucene üzerinde dağıtılmış bir sistem sağlar . Dağıtılmış bir sistem, Lucene'nin farkında olduğu veya bunun için inşa edildiği bir şey değildir. Elasticsearch, dağıtılmış yapının bu soyutlamasını sağlar.
  3. Elasticsearch, iş parçacığı havuzu, kuyruklar, düğüm / küme izleme API'si, veri izleme API'si, Küme yönetimi gibi diğer destekleyici özellikleri sağlar.

1
DataStore ile ilgili olarak ikisi arasında bir fark var mı?
AlikElzin-kilaka

Veri deposu ne olacak?
Rookian

10
Bunun DataStore'daki sorunuzu yanıtlayıp yanıtlamadığından emin değilim, ancak her Elasticsearch Düğümü Parçalar içerir. Tek bir Elasticsearch indeksi, Parçalar kullanılarak Düğümler arasında yayılır. Her Shard, Elasticsearch Index'teki belgelerin bir bölümünü tutar. Bu parçaların her biri Lucene'nin bir örneğidir. Yani kökte, tüm veriler Lucene'de saklanır ve Elasticsearch etkileşimleri yönetir.
Airn5475

32

@Vineeth Mohan'a ek olarak kelimelerine :

Yüksek kullanılabilirlik: Elasticsearch dağıtılmıştır, böylece veri replikasyonunu yönetebilir, bu da kümenizde birden fazla veri kopyasına sahip olunması anlamına gelir. Bu, yüksek kullanılabilirlik sağlar.

Güçlü Sorgu DSL : Elasticsearch, Lucene üzerinde sorguları okumak ve yazmak için bize JSON arayüzü sunar. Elasticsearch sayesinde, Lucene sözdizimini bilmeden karmaşık sorgular yazabilirsiniz.

Şemasız (Şemasız): için alanların (ad, değer çiftleri) schemaönceden tanımlanması gerekmez. Verileri indekslediğinizde, elasticsearch, sihir gibi çalışma zamanında otomatik olarak şema oluşturabilir.


0

Kullanım açısından cevaplayacağım.

Lucene bir arama motoru kitaplığıdır . Kendi arama motorunuzu oluşturmak için kullanmak istersiniz: ya yeni bir Elasticsearch ya da Solr rakibi ya da kullanım durumunuz için dar bir şey (örneğin, metin analizi).

Elasticsearch bir arama motorudur . Çoğu kişi bunu günlük toplama, ürün arama veya bu ikisinin bir çeşidi için kullanır (örneğin, sosyal medya analizi veya bazı arama kriterleri için ilgili kişileri bulmak). Lucene üzerine inşa edilmiştir, bu nedenle özelliklerinin çoğunu (hepsini olmasa da) ortaya çıkarır . Ayrıca en önemlisi, üstüne çok şey ekler:

  • REST API
  • DSL sorgusu
  • dağıtılmış sistem (parçalama, çoğaltma, küme yönetimi)
  • yönler / toplamalar
  • ortak kullanım (örn. besleme işleme) ve yönetim için ek özellikler ( ilgili ölçümleri izleme , yedekleme ve geri yükleme, vb. için API'ler )
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.