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 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ı |
|
Birleşik İstemci |
|
Enstrüman Veri Setleri |
|
Düzenleyici Belgeler |
|
PLM Uygulamasına Gömülü |
|
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.
) 2 Adım Şartları Kabul Et'e tıklayın
Bir sonraki sayfada Şartları Kabul Et'e tıklayın.
) 3 Adım Biraz bekle
Daha sonra bir süre bekleyin ve ardından İstek bir süre sonra kabul edilir.
) 4 Adım Yapılandırmaya Devam Et
Sayfayı yenileyin ve “Yapılandırmaya Devam Et”e tıklayın
) 5 Adım Başlatmaya Devam Et
Ayarları varsayılan tutun ve “Başlatmaya Devam Et” seçeneğini tıklayın.
) 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
Bu başarı mesajını göreceksiniz
) 7 Adım Genel DNS'ye dikkat edin
EC2 konsolunda, örneğinizin genel DNS'sini not edin
) 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
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:
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.