Apache Solr Nedir?

 Apache Solr, Apache Lucene adlı bir Java kütüphanesi üzerine kurulmuş, kurumsal yetenekli, açık kaynaklı bir arama platformudur. Solr arama motoru, dünya çapında en yaygın olarak kullanılan arama platformlarından biridir.

Solr, web siteleri için popüler bir arama platformudur çünkü arama sorgularının taksonomisine dayalı olarak birden çok siteyi indeksleyebilir ve arama yapabilir. İlgili içeriğe ilişkin önerileri geri döndürebilir: Solr aynı zamanda kurumsal arama için popüler bir arama platformudır çünkü belgeleri indekslemek ve aramak için kullanılabilir.

Solr Java’da yazılmıştır. Hem RESTful XML arayüzü hem de arama uygulamalarının oluşturulabileceği bir JSON API‘si sağlar.

Solr arama motoru son derece istikrarlı, ölçeklenebilir ve güvenilir bir üne sahiptir.Apache Software Foundation’ın yönettiği geniş bir açık kaynak topluluğu tarafından sürekli olarak geliştirilmekte ve zengin bir çekirdek arama fonksiyonu seti sunmaktadır. Deneyimli ellerde, arama tabanlı ve büyük veri analitiği uygulamalarının oluşturulabildiği son derece güçlü ve esnek bir platformdur.

Solr nasıl çalışır?

Solr’da bir document, arama ve indeksleme birimidir. Bir indeks bir ya da daha fazla document’tan oluşur ve bir ya da daha fazla field oluşur. Veritabanı terminolojisinde, bir document bir tablo satırına karşılık gelir, bir field ise bir tablo sütununa karşılık gelir.

Schema.xml

Solr’a belge eklemeden önce, schema.xml adlı bir dosyada gösterilen şemayı belirtmeniz gerekir. Dizine documentlar eklendikten sonra schema.xml’i değiştirmek tavsiye edilmez.

Şema şunları:

  • Field tiplerini,
  • Unique ya da primary key olarak hangi fieldlar gerekli olduğunu,
  • Her alanın nasıl dizinleneceği ve arandığını içerir.

Field Tipleri

Solr’da her field’ın bir türü vardır. Solr, Lucene’de bulunan çeşitli saha tiplerini genişletiyor.

Solr’da bulunan temel alan tiplerine örnekler:

  • float
  • long
  • double
  • date
  • text

Solr ayrıca, yeni alan türleri tanımlamanızı sağlar, örneğin filtreleri ve belirtecileri birleştirerek:

Field Tanımlamak

  •      name: Alanın adı
  •      type: Alan türü
  •      indexed: Bu alan, tersine çevrilmiş indekse eklenmeli mi?
  •      stored: Bu alanın orijinal değeri saklanmalı mı?
  •      multiValued: Bu alanın birden fazla değeri olabilir mi?

Dizine eklenmiş ve saklanan özellikler önemlidir ve küçük bir açıklama gerektirir.

Analiz

Solr’a veri eklendiğinde, dizine eklenmeden önce bir dizi dönüşümden geçer. Buna analiz aşaması denir. Dönüşümlerin örnekleri arasında düşük gövdeli kaplama, kelime sapları vb. bulunmaktadır. Analizin nihai sonucu, daha sonra dizine eklenmiş bir dizi sembollerdir. Orijinal metni değil, belirteçler, arama sorgusu gerçekleştirdiğinizde aranır.

Dizine eklenmiş alanlar, bir analiz aşamasına giren ve dizine eklenmiş alanlardır.

Bir alan indekslenmemişse, aranamaz.

Vadeli depolama

Stored Solr’a orijinal metni bir yerde dizine saklamak için söyler.
Bazen, aranmayan, ancak arama sonuçlarında gösterilmesi gereken alanlar vardır. Bunu, alan özniteliklerini stored = true ve indexed = false olarak ayarlayarak gerçekleştirirsiniz.

Peki, neden tüm alanları sürekli saklamıyoruz?

Alanların depolanması indeksin büyüklüğünü arttırdığından ve indeks ne kadar büyükse, arama o kadar yavaş olur. Fiziksel hesaplama açısından, daha büyük bir indeksin, aynı miktarda veriye ulaşmak için daha fazla disk gerektirdiğini söyleyebiliriz.

Peki Lucene Nedir?
Solr,  güçlü bir açık kaynak kodlu tam metin arama kütüphanesi olan Lucene tarafından desteklenmektedir. Solr ve Lucene arasındaki ilişki, bir araba ile motoru arasındaki ilişki gibidir.
Bir araba ile motor arasındaki farkı bilmek,insanlar için araba kullanmayı öğrenirken çok önemli değildir.

Solr Nasıl Kullanılır?

Solr’ın kurmak istediğiniz sürümünü bilgisayarınıza buradan indirebilirsiniz. Arşivden çıkarttıkran sonra Solr kullanmak için hazır olur.

 

About This Author

Süleyman Demirel Üniversitesi Bilgisayar Mühendisliği öğrencisiyim. Programlama, Web Teknolojileri ve Sosyal Medya ile ilgileniyorum. Bildiğim,öğrendiğim,gezip gördüğüm şeyleri buradan paylaşıyorum.

3 Comments

You can post comments in this post.


  • Bunu elasticsearch ile karşılaştırmak doğru olur mu?

    Ali 1 ay ago Reply


    • Evet, elasticsearch kullanmadım ama aynı kulvarda diyebiliriz.

      Burcu 1 ay ago Reply


  • Tesekkurler 🙂

    Ali 1 ay ago Reply


Post A Reply