Solr ve lucene arasındaki fark


163

Lucene ve Solr'un birlikte çalışmak üzere yapılmış 2 farklı Apache projesi olduğunu biliyorum , ancak her projenin amacının ne olduğunu anlamıyorum.

Şimdiye kadar anladığım kadarıyla Lucene bir arama dizini oluşturmak için kullanılıyor ve Solr bu dizini arama yapmak için kullanıyor. Haklı mıyım yoksa bu tamamen farklı bir yaklaşım mı?


5
Yok mu lucene.apache.org/solr (ve Lucene için eşdeğer sayfası) cevap bu muydu?
NPE

Evet haklısın, solr özellikler sayfası farkı açıklığa kavuşturuyor. Si Anlıyorsam, Lucene'i tek başına kullanabileceğimi ama Solr'un çalışmak için Lucene'ye ihtiyacı var.
darkheir

2
Lucene'den farklı olarak Solr, İskele, Tomcat, Reçine, vb. Gibi herhangi bir sunucu uygulamasında kullanılabilen bir web uygulamasıdır (WAR). Solr, programcı olmayanlar tarafından kurulabilir ve kullanılabilir. Lucene yapamaz. Lucenetutorial.com/lucene-vs-solr.html
Lucky hakkında

Yanıtlar:


229

@darkheir: Lucene ve Solr birlikte çalışmak üzere yapılmış 2 farklı Apache projesi, her projenin amacının ne olduğunu anlamıyorum.

1) Solr kaputun altında Lucene kullanıyor. Lucene'in Solr API'sı hakkında hiçbir fikri yok.

2) Lucene, uygulamamıza arama yeteneği eklememizi sağlayan güçlü bir arama motoru çerçevesidir. Arama ile ilgili tüm karmaşık işlemleri gizlerken kullanımı kolay bir API sunar. Herhangi bir uygulama sadece Solr değil, bu kütüphaneyi kullanabilir.

3) Solr Lucene çevresinde inşa edilmiştir. Sadece Lucene etrafındaki bir http ambalajı değil , aynı zamanda Lucene'ye daha fazla cephanelik kattığı biliniyor . Solr kullanıma hazırdır. Lucene'nin sunduklarına ek olarak ilgili altyapı ve çok daha fazla özellik sunan bir web uygulamasıdır.

@darkheir: Lucene bir arama dizini oluşturmak için kullanılır ve Solr bu dizini arama yapmak için kullanır. Haklı mıyım yoksa bu tamamen farklı bir yaklaşım mı?

4) Lucene sadece Solr tüketim endeksini oluşturmakla kalmıyor . Lucene arama ile ilgili tüm işlemleri yapar. Herhangi bir uygulama Lucene çerçevesini kullanabilir.

Örnekler Solr, Elastik Arama, LinkedIn (evet, kaputun altında), vb.

Bu makaleye göz atın: Lucene vs Solr

GÜNCELLEME (18.06.2014)

Lucene ne zaman kullanılır?

  • Siz bir arama mühendisisiniz VE
  • Sen bir programcısın AND
  • Hemen hemen tüm Lucene içleri üzerinde tam kontrol istiyorsun VE
  • Gereksinimleriniz Lucene AND için her türlü geeky özelleştirmesini yapmanızı istiyor VE
  • Aramanızın ölçekleme, dağıtım vb. Altyapı öğelerine özen göstermeye hazırsınız.

Solr ne zaman kullanılır?

  • Yukarıdakilerden en az biri anlamlı değildi. VEYA
  • Kullanıma hazır (Java bilgisi olmadan) kullanıma hazır bir şey istiyorsunuz VEYA
  • Altyapı gereksinimleriniz arama özelleştirme gereksinimlerinden daha ağır basar.

NOT : Solr'un özelleştirilmesi zor olduğu anlamına gelmiyorum. Solr çok esnektir ve çok sayıda takılabilir API noktası sağlar ve kodunuzu girmenizi sağlar.

' Lucene kullanmak zorunda ' kampına giren insanlar var , ama yine de kullanımı kolay olduğu için Solr'ı düz Lucene'ye tercih ediyorlar. Bununla birlikte, kendilerini asla Solr'ı maksimum ölçüde özelleştirmekten alıkoymazlar.

BTW, Solr (4.x) üzerinde Lucene'den (4.x) daha fazla kaynak olduğunu görüyorum.


31

Lucene, indeksleme, analiz etme, arama vb. Uygulayan düşük seviyeli bir Java kütüphanesidir (.NET'e bağlantı noktaları vb.).

Solr, Lucene kullanan bağımsız bir önceden yapılandırılmış ürün / web uygulamasıdır. Java API yerine HTTP API ile uğraşmayı tercih ederseniz Solr tam size göre. Solr ayrıca bazı ekstra özelliklere de sahiptir (örneğin gruplama ).


21

Solr ve Lucene arasındaki ilişkiyi kavramsallaştırmanın basit bir yolu, bir otomobil ve motorudur. Motor kullanamazsınız, ancak araba sürebilirsiniz. Benzer şekilde, Lucene olduğu gibi kullanamayacağınız programlı bir kütüphane iken Solr, kutudan çıktığı gibi kullanabileceğiniz eksiksiz bir uygulamadır.

Kaynak: Lucene-vs-solr - Lucene Eğitimi


5
Bu, lucenetutorial.com/lucene-vs-solr.html adresinden kopyalanmış olarak yapıştırılır. ;)
Şanslı

1
Sayfa şu anda çevrimdışı görünüyor.
dev_feed

15

Solr, bir arama platformu sağlamak için lucene üzerine inşa edilmiştir.

Aşağıdan yukarıya aşağıdaki katmanlarda arama platformu:

  • Veri
    • Amaç: Çeşitli veri türlerini ve kaynaklarını temsil etmek
  • Belge oluşturma
    • Amaç: Dizin oluşturma için belge bilgileri oluşturmak
  • Endeksleme ve arama
    • Amaç: Belge dizini oluşturma ve sorgulama
  • Mantık geliştirme
    • Amaç: Arama sorgularını ve sonuçları işlemek için ek mantık
  • Arama platformu hizmeti
    • Amaç: Bir servis platformu sağlamak için arama motoru çekirdeğinin ek işlevlerini ekleyin.
  • UI uygulaması
    • Amaç: Son kullanıcı arama arayüzü veya uygulamaları

solr yığını

Referans makale: Kurumsal arama


12

SOLR bir olan sarıcı Lucene endeksi üzerinde.

Anlaması basit: SOLR araba ve Lucene de motoru . Sadece araba sürmeyi (SOLR) bilmeniz ve araba motorunuzda herhangi bir sorun olması durumunda birkaç motor (Lucene) bilmeniz gerekir.

Güvenli bir sürüş var :)


3
Bu kadar eğimli olsaydınız , Lucene motorunu kullanarak kendi arabanızı yaratabileceğinizden bahsetmiyorum bile .
hintss

1

Bunu şu şekilde hayal edebilirsiniz - Apache Lucene, Apache Solr tarafından dahili olarak kullanılan kütüphanedir. Java ile yazılmış ve şaşırtıcı tam metin arama ve indeksleme yetenekleri sağlar. Dünyanın her yerinden çok sayıda dili analiz edebilir ve bu dillerdeki metni verimli ve hızlı arama ve analize hazırlayabilir. Lucene bir kütüphanedir - doğrudan uygulamanızda kullanabilir ve her şeyi kendiniz uygulayabilirsiniz, ancak Apache Solr kutudan çok şey sağlar.

Apache Solr arama motoru, onlara veri göndermek ve daha sonra bu verileri aramak için kullanabileceğiniz HTTP API'leri gibi şeyler sağlar. API'yı kullanarak arama motorlarını kontrol edebilir, dağıtılmış ortamlar oluşturabilir ve verileri otomatik olarak birden çok düğüme ve çok daha fazlasına dağıtabilirsiniz.


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.