Saya tahu ElasticSearch dibangun di atas Apache Lucene tetapi saya ingin tahu perbedaan yang signifikan antara keduanya.
Saya tahu ElasticSearch dibangun di atas Apache Lucene tetapi saya ingin tahu perbedaan yang signifikan antara keduanya.
Jawaban:
Lucene adalah perpustakaan Java . Anda dapat memasukkannya dalam proyek Anda dan merujuk fungsinya menggunakan panggilan fungsi.
Elasticsearch adalah server web Berbasis JSON , Terdistribusi , yang dibangun di atas Lucene. Meskipun Lucene yang melakukan pekerjaan aktual di bawahnya, Elasticsearch memberi kita lapisan yang nyaman di atas Lucene. Setiap pecahan yang dibuat di Elasticsearch adalah instance Lucene yang terpisah. Jadi untuk meringkas
Selain kata-kata @Vineeth Mohan :
Ketersediaan Tinggi: Elasticsearch didistribusikan, sehingga dapat mengelola replikasi data, yang berarti memiliki banyak salinan data di cluster Anda. Ini memungkinkan ketersediaan tinggi.
DSL Powerfull Query : Elasticsearch menawarkan antarmuka JSON untuk membaca dan menulis kueri di atas Lucene. Berkat Elasticsearch, Anda dapat menulis kueri kompleks tanpa mengetahui sintaks Lucene.
Schemaless (Bebas Skema): Fields (nama, pasangan nilai) untuk schema
tidak harus didefinisikan sebelumnya. Saat Anda mengindeks data, elasticsearch dapat membuat skema secara otomatis saat runtime, seperti sulap.
Saya akan menjawab dari perspektif penggunaan.
Lucene adalah perpustakaan mesin pencari . Anda ingin menggunakannya untuk membangun mesin pencari Anda sendiri: baik Elasticsearch atau pesaing Solr baru atau sesuatu yang sempit untuk kasus penggunaan Anda (mis. Analisis teks).
Elasticsearch adalah mesin pencari . Kebanyakan orang menggunakannya untuk agregasi log, pencarian produk, atau varian dari keduanya (mis. Analisis media sosial atau menemukan orang yang relevan untuk beberapa kriteria pencarian). Itu dibangun di atas Lucene, sehingga memperlihatkan sebagian besar (walaupun tidak semua) fitur-fiturnya . Itu juga menambahkan banyak di atas, paling signifikan: