Lucene etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
Lucene etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
4 Şubat 2014 Salı
Apache Lucene
Etiketler:
Apache
,
Full text search
,
Java
,
Lucene
,
Nutch
3 Şubat 2014 Pazartesi
Apache Solr Nedir?
Diyelim ki bir web uygulamanız var. Bu uygulamanızın en önemli modüllerinden birisi de arama modülü. Arama işlemlerini milyonlarca satır kayıt bulunan bir veritabanı üzerinde gerçekleştiriyorsunuz. Uygulamanız yüksek trafik almaya ve arama modülünüz yavaşlamaya başladı. Uygulamanızın performansı gün gittikçe düşüyor. Artık metin arama (full text search) en karmaşık konulardan birisi haline geldi sizin için. Eğer veritabanı motorunuz, full text search desteklemiyorsa, harici bir arama motoru kullanmanın zamanı gelmiştir demektir. İşinizi kolaylaştıracak arama motorlarından biri Apache Solr artık en iyi yardımcınız.
Solr, Lucene üzerine kurulu, arama uygulamalarında kullanılan bir Apache ürünüdür. Solr ve Lucene arasındaki ilişki araba ve araba motoru arasındaki ilişkiye benzer. Lucene motor, Solr ise arabadır. Lucene olmadan Solr çalışmaz.
Lucene; temelde metin analizi, indexleme ve arama gibi temel işlevleri sunan bir Apache projesidir. Solr ise, Lucene temelini kullanan, onun üstüne filtreleme, faceting, önbellekleme, dağıtık mimari desteği gibi şeyleri kolay yapılandırma dosyaları ile yönetebilmenizi sağlar. Verileri XML, JSON, Binary gibi çeşitli formatlarda almanızı sağlar.
Solr, Java ile geliştirilmiştir. Solr açık kaynak kodludur. Solr farklı sunucular (Jetty, Resin, JRun, Tomcat) üzerinde çalışır. Herhangi bir programlama dili kullanmadan, Solr sunucuyu kurulur. Solr ile verilerinizi sunucuda indekslersiniz. Bu veriler üzerinde arama yapabilmeyi Solr ile sağlarsınız.
Solr için veriler “Document” olarak adlandırılır. Solr’a veri eklemek demek yeni bir “Document” eklemek demektir. Solr her şeyi bir "döküman" olarak saklar. Dökümanları veritabanındaki satırlar (row) olarak düşünebilirsiniz. Örneğin Vidomix gibi bir video sitesinin veritabanındaki bir "videolar" tablosunu tasarlarken, video_id, video_title, video_info, video_time gibi alanlar (fields) oluşturyorsak aynı mantık ile "Solr Document" tasarlanır.
Solr’da indekslemek istediğimiz veriyi bir Document olarak tasarlar ve bu Document’in tüm özelleklerini (field) belirledikten sonra uygun şekilde veri setleri oluşturulup Solr’a eklenebilirsiniz. Indekslenen bu veriler üzerinde HTTP isteği ile sorgulama yaparak, sonuçları çok hızlı bir şekilde ve istediğimiz formatta elde edebilirsiniz
Etiketler:
Apache
,
Apache Solr
,
dağıtık mimari
,
faceting
,
filtreleme
,
Full text search
,
indexleme
,
Java
,
Lucene
,
metin analizi
,
metin arama
,
önbellekleme
,
Solr
,
Solr Document
Apache Lucene
Lucene günümüzde oldukça popülerdir ve pek çok web sitesi ve uygulamada kullanılmaktadır. Full text arama içeren her türlü masa üstü veya web uygulamasında Lucene kullanılabilir. Duydumki Twitter, Mysql'i bırakıp 2011 yılında Lucene'e geçmiş. Bu geçiş Twitter'ın çok büyük arama ihtiyacını karşılamak için sistemleri 3 kat hızlandırmış.
Lucene, Java dili ile yazılmış açık kaynak bir kütüphanedir. Her ne kadar Java’da yazılmış olsa da, bugün diğer dillerde de kullanılabilmektedir. Lucene; Delphi, Perl, C#, C++, Python, Ruby ve PHP gibi birçok farklı dilde yeniden yazılmıştır. Bir kütüphane olduğu için de hemen kurup kullanabileceğiniz bir uygulama değildir.Sağladığı API ile kolayca fulltext aramaları yapan bir uygulama geliştirebilirsiniz.
Lucene ile Wildcard, Fuzzy, Proximity, Range, Boosting a Term, Boolean Operatörler kullanılarak arama yapılabilmektedir. Lucene; PDF, HTML ve Microsoft Word belgeleri gibi birçok farklı dosya türü içinde arama yapabilmekte ve sonuçları listeleyebilmektedir.
Lucene birçok alt projeden oluşmaktadır. Apache'nin projelerinden Nutch, Lucene'i temel almakta, listeleme, arama ve HTML sayfası içinde ayrıştırma yapabilmektedir. Apache'nin diğer projelerinden Solr ise Lucene üzerine kurulmuş gelişmiş bir arama sunucusudur.
Kaydol:
Kayıtlar
(
Atom
)