Apache Solr Eğitimi: Solr Nedir? ArchiTasarım ve Kurulum

Apache Solr nedir?

Apache Solr ile yazılmış açık kaynaklı bir arama sunucusu platformudur. Java Apache yazılım vakfı tarafından geliştirilen bir dildir. Son derece ölçeklenebilirdir ve büyük miktarda metin merkezli veriyi işlemek için arama motorunu dağıtmaya hazırdır. Apache Solr'u kullanmanın amacı, büyük miktarda web içeriğini dizine eklemek ve aramak ve arama sorgusuna göre ilgili içerik sağlamaktır.

Apache Solr, Apache Lucene adı verilen tam metin arama motorunu çevreleyen REST-API tabanlı bir HTTP sarmalayıcıdır. Tersine çevrilmiş dizin, her sözcük girişinin saklandığı belgelere bağlandığı bir sözcük listesidir. Bu şekilde, basit 'al' işlemiyle "guru99" arama sorgusuna ilişkin tüm belgeler alınır.

Apache Solr'un Tarihi

  • 1999: Doug Cut, Lucene'yi yayınladı
  • 2004: Solr, CNET'te Yonik Seeley tarafından şirket içi bir proje olarak geliştirildi.
  • 2006: CNET, kaynak kodunu Apache Yazılımına bağışlayarak yayınladı Foundation
  • 2008: Solr 1.3, gelişmiş arama yetenekleri ve performans iyileştirmeleriyle piyasaya sürüldü
  • 2010: Lucene ve Solr'un Birleşmesi
  • 2012: Yeni Solr Cloud özelliğiyle Solr sürüm 4.0 yayınlandı
  • 2016: Paralel SQL sorgularının yürütülmesine destek sunan Solr 6.0 piyasaya sürüldü

Apache Solr'un Özellikleri

Apache Solr'un önemli özellikleri şunlardır:

  • Otomatik Yük Dengeleme
  • Standartlara Dayalı Açık Arayüzler – XML, JSON ve HTTP
  • Öneriler ve Yazım Önerileri desteklenir
  • Otomatik Tamamlama ve Jeo-Uzamsal Arama Desteği
  • Kimlik Doğrulama ve Yetkilendirme için Yerleşik Güvenlik
  • Çok dilli bir Anahtar Kelime araması yapmanızı sağlar
  • Otomatik Tamamlama/Yazma Öncesi Tahmin
  • Toplu ve Akış işleme
  • Makine öğrenimi modelleri oluşturmak kolaydır
  • Yüksek hacimli web trafiği için özel olarak optimize edilmiştir
  • Kapsamlı HTML Hayranlık Arayüzleri
  • Hem Şema hem de Şemasız yapılandırmayı destekler
  • Yönlü Arama ve Filtreleme
  • Tamamı İçin Merkezi Yapılandırma Cluster

Apache Solr'da Kullanılan Anahtar Terimler

Şimdi bu Solr arama motoru eğitiminde Apache Solr'da kullanılan anahtar terimleri öğreneceğiz:

Anahtar Terim Tanım
Solr Çekirdeği Solr Core, tüm belgelerden türetilen metinlerin ve alanların dizini olarak tanımlanabilir. Bir Solr Örneğinin tek veya birden fazla Solr Çekirdeği olabilir.

Çekirdek = Lucene Index + Solr konfigürasyonunun bir örneği

Solr Örneği Solr Örneği, Solr'un çalıştırdığı bir örnektir. Java Sanal makine (JVM). Bağımsız modda yalnızca bir örnek sunarken bulut modunda bir veya daha fazla örneğiniz olabilir.
Endeksleme İndeksleme, belgenin içeriğini Solr Index'e eklemeye yönelik bir yöntemdir. Apache Solr, Apache Lucene Ters İndeks tekniğini kullanır.
belge Bir grup alan ve değerleridir. Belge, Apache Core'da depolanan temel veri birimidir. Bir Apache çekirdeği bir veya daha fazla Belge içerebilir.
Alan Alan, gerçek verileri bir Belgede saklayan bir anahtar/değer çiftidir. Anahtar, alan adını belirtir ve değer, o Alan verilerini içerir. Bir belgenin bir veya daha fazla alanı olabilir. Belge içeriğini indekslemek için Apache Solr tarafından kullanılır.
Huzurlu API'ler Solr ile iletişim kurmak için kullanmış olmanız gerekmez Java programlama. Bunun yerine Apache Solr şunları sağlar: huzurlu hizmetler onunla iletişim kurmak için. JSON, XML ve CSV gibi çeşitli dosya formatlarında belge gönderebilir ve sonuçları alabilirsiniz.
Tam metin araması Solr, tam metin araması için belirteçler, ifadeler, yazım denetimi, otomatik tamamlama, joker karakter vb. gibi özellikler sunar.
Yönetici Arayüzü Solr, kullanımı kolay, kullanıcı dostu, özelliklerle desteklenen bir kullanıcı arayüzü sunar. Arayüzü kullanarak günlükleri yönetme, belge ekleme, silme, güncelleme ve arama gibi görevleri gerçekleştirebilirsiniz.
Metin Merkezli ve İlgiye Göre Sıralanmış Apache Solr, metin belgelerinde arama yapmak için kullanılır ve sonuçlar kullanıcının sorgusuna göre sunulur.
Düğüm Solr bulutunda her bir örnek bir düğüm olarak bilinir.
Cluster Bir küme, düğümlerin bir koleksiyonudur.
Koleksiyon Bir kümenin aynı zamanda koleksiyon olarak da adlandırılan mantıksal bir dizini vardır.
çömlek kırığı Dizinin tekli veya çoklu replikalarını sunan koleksiyonun küçük bir alanıdır.
Kopya Replika, bir düğümde çalışan parçanın bir kopyasıdır.
Lider Bu, kopyaların geri kalanı için Solr Bulutunun isteklerini gönderen parçanın bir kopyasıdır.

Apache Solr Archidoku

Şimdi bu Solr arama eğitiminde Apache Solr hakkında bilgi edinelim Archidoku:

Apache Solr Archidoku
Apache Solr Archidoku

Apache Solr aşağıdaki bileşenleri tehlikeye atıyor

Sorgu

Sorgu ayrıştırıcı, Solr'a iletmeniz gereken sorguları ayrıştırır. Sözdizimsel hataları kontrol etmek için sorgunuzu doğrular. Sorgular ayrıştırıldıktan sonra Lucene tarafından bilinen bir formata çevrilir.

İstek İşleyicisi

Apache Solr'a gönderilen istek, istek işleyicisi tarafından işlenir. İstek bir sorgu isteği veya dizin güncelleme isteği olabilir. İhtiyaçlarınıza göre istek işleyicisini seçmeniz gerekir. Solr'a bir istek iletmek için işleyiciyi belirli bir URL uç noktasıyla eşlemeniz gerekir.

Yanıt Yazarı

Yanıt yazıcısı, giriş sorguları için biçimlendirilmiş çıktılar üretecektir. XML, JSON, CSV.etc gibi çeşitli formatları destekler. Farklı istek türleri için farklı yanıt yazarlarınız olabilir.

İşleyiciyi Güncelle

Apache Solr'a bir güncelleme isteği gönderdiğinizde, bu istek bir dizi eklenti, imza, günlük kaydı ve indeksleme yoluyla çalıştırılır. Bu işleme güncelleme isteği işlemcisi adı verilir. Güncelleme işleyicisi ayrıca dosya ekleme veya bırakma gibi değişikliklerden de sorumludur.

Apache Solr Uygulamaları

Uygulama kullanım
İntranet Portalı
  • Aramaya kolay erişim
  • Uygulama başlatılıyor
  • Haber ve etkinlik bildirimi
  • Tek oturum açma kimlik doğrulaması
Birleşik İstemci
  • Basitleştirilmiş sunum
  • Tüm içerikte arama yapın
  • Yalnızca yetkili erişim
  • Belge görüntüleme
Enstrüman Veri Setleri
  • Bilim insanları için optimize edildi
  • Veriye bağlı menüler
  • Özel ızgara filtreleri
Düzenleyici Belgeler
  • Araştırmacılar için tasarlandı
  • Zengin meta veri erişimi
  • E-tablo dışa aktarmaları
  • Belge hızlandırıcıyı görüntüle
PLM Uygulamasına Gömülü
  • Bir RDBMS'nin sağlayabileceğinden daha iyi bir arama deneyimi sunar
  • Geç bağlayıcı güvenlik modeli
  • Araç çubuğunda gösterilen belge eylemleri

Apache Solr nasıl kurulur?

) 1 Adım Web sitesini açın ve Abone Olmaya Devam Edin
Buna git Link, “Abone Olmaya Devam Et”i tıklayın.

Apache Solr'u yükleyin

) 2 Adım Şartları Kabul Et'e tıklayın
Bir sonraki sayfada Şartları Kabul Et'e tıklayın.

Apache Solr'u yükleyin

) 3 Adım Biraz bekle
Daha sonra bir süre bekleyin ve ardından İstek bir süre sonra kabul edilir.

Apache Solr'u yükleyin

) 4 Adım Yapılandırmaya Devam Et
Sayfayı yenileyin ve “Yapılandırmaya Devam Et”e tıklayın

Apache Solr'u yükleyin

) 5 Adım Başlatmaya Devam Et
Ayarları varsayılan tutun ve “Başlatmaya Devam Et” seçeneğini tıklayın.

Apache Solr'u yükleyin

) 6 Adım Ayarları varsayılan tut
Bir sonraki sayfada Ayarları varsayılan tut

  • Anahtarın pem dosyasına sahip olduğunuzdan emin olun
  • “Başlat”a tıklayın

Apache Solr'u yükleyin

Bu başarı mesajını göreceksiniz

Apache Solr'u yükleyin

) 7 Adım Genel DNS'ye dikkat edin
EC2 konsolunda, örneğinizin genel DNS'sini not edin

Apache Solr'u yükleyin

) 8 Adım URL'nin altında aç
Solr'a erişmek için URL'yi kullanmanız yeterlidir

http://publicdns:8983

bizim durumumuzda olur

http://ec2-18-221-175-53.us-east-2.compute.amazonaws.com:8983

Apache Solr'u yükleyin

Not: Örneğe erişmede sorun yaşıyorsanız aşağıdaki Solr sorgu örneğinde gösterildiği gibi tüm trafiğe izin vermek için örneğinizdeki gelen ve giden kuralları değiştirin:

Apache Solr'u yükleyin

Elasticsearch Vs. Apache Solr

Parametreler Apache Solr Elastik Arama
Tabiat Açık kaynaklı bir projedir. Açık kaynaklı bir proje değil.
Statik durum shema.xml'de statik elasticsearch.yml'de statik
oluşturulan XML, CSV, JSON Yalnızca JSON
indeks Toplama/çekirdek yeniden yükleme ile çalışma zamanı sırasında yeniden yüklenebilir REST çağrısıyla dizin/tür oluşturma sırasında tanımlanır
Dökümanlar İyi belgelenmiştir. Kötü bir şekilde belgelenmiştir.
Parçalar Bölünüyor Mümkün Mümkün değil

Apache Solr'un Avantajları

  • Bilgiyi bulmak için harcanan süreyi azaltmanıza yardımcı olur
  • Hızlı, basit, güçlü ve esnek bir arama motorudur
  • Ürün ve hizmetlerinizi daha erişilebilir hale getirmenize yardımcı olur
  • Bir web uygulamasında müşteri harcamasını artırın
  • Geliri ve kârı artırmak için web uygulamasında kullanıcı deneyimini geliştirmenize yardımcı olur
  • Kapsamlı HTML tabanlı Yönetim Arayüzü
  • XML yapılandırmasıyla Esnek ve Uyarlanabilir
  • Genişletilebilir Eklenti Archidoku
  • Yüksek düzeyde Ölçeklenebilir, sağlam, hataya dayanıklı arama motoru
  • Dağıtılmış, Gölgeleme, Çoğaltma'yı destekler, Clusterve Çoklu Düğüm Archidoku

Apache Solr'un Dezavantajları

  • ACID uyumlu bir Veri Deposu değildir
  • Birincil veri deposu olarak kullanışlı değildir. Yalnızca İkincil Veri Deposu olarak kullanışlıdır
  • İşlemler ve dağıtılmış işlemler için destek sunmaz
  • Birleştirmeleri ve Karmaşık Sorguları desteklemiyor
  • Normalleştirilmiş Veriler için ideal değil

ÖZET

  • Apache Solr Açık Kaynaklıdır REST-API tabanlı arama sunucusu
  • Apache Solr, Yonik Seeley tarafından CNET'te şirket içi bir parça şirket projesi olarak geliştirildi
  • Apache Solr, Otomatik Tamamlama ve Jeo-Uzamsal Arama gibi özellikler sunar
  • Solr Çekirdeği, Solr Örneği, Dizin Oluşturma, Belge, Restful API'ler, Tam metin arama, Yönetici Arayüzü vb. Apache Solr'da kullanılan bazı önemli terimlerdir.
  • Sorgu, İstek işleyicisi, İstek yazarı ve güncelleme işleyicileri Apache Solr'un önemli bileşenlerinden bazılarıdır.
  • İntranet Portalı, Birleşik İstemci, Araç Veri Kümeleri, Düzenleyici Belgeler, PLM Uygulamasına Gömülü yararlı Apache Solr Uygulamalarıdır
  • Apache Solr, kötü belgelendirilmiş elastik aramaya kıyasla iyi belgelendirilmiştir
  • Apache Solr'un en büyük avantajı Bilgiyi bulmak için harcanan süreyi azaltmanıza yardımcı olmasıdır.
  • Bu uygulamanın en büyük dezavantajı ACID uyumlu bir Veri Deposu olmamasıdır.