Turkhackteam.net/org - Turkish Hacking & Security Platform  
Geri git   Turkhackteam.net/org - Turkish Hacking & Security Platform >
Sunucu Yönetimi ve Güvenliği
> Databases

Databases Access Oracle MSSQL MySQL Sybase DB2 Databases




Sphinx nedir ?

Databases

Yeni Konu aç Cevapla
 
Seçenekler
Alt 29-07-2016 20:37   #1
  • Yarbay
  • Üye Bilgileri
Üyelik tarihi
04/2015
Nereden
Mars
Mesajlar
Konular



Arrow Sphinx nedir ?



MySQL 5.0 sürümünden itibaren güzel bir özellik sundu : fulltext search. Bu özellik sayesinde, veritabanındaki bir tablonun,istenilen alanları (fulltext indeksi eklenmiş alanlar) üzerinde metin bazlı arama yapabiliyoruz.

Fulltext search sadece MyISAM tipindeki tablolar üzerinde çalışabilmekte. Ayrıca çok da performanslı olduğu söylenemez.

Performans haricinde arama sırasında da çok da esnek olmayan bir yapısı var.

İşte burada Search Engine Server ( Arama motoru sunucusu) devreye giriyor.

Bu arama motrolarının yaptığı şey, veritabanından bağımsız çalışarak, verilerin, veritabanından belirli aralıklarda çekilerek indekslenmesi. Sonrasında da kendine gelen arama sorguları esnasında, indekslenmiş kayıtlar içerisinden sonucu kısa sürede vermek.

MySQL Fulltext Search de süreç şu şekilde olur:

Fulltext indeksi eklenmiş tablodaki alan üzerinde sorgu çalıştırılır :
SELECT * FROM articles
-> WHERE MATCH (title,body) AGAINST (‘database’);
Çıkan sonuçlar direkt olarak kullanılır.

Arama motoru sunucusundaki süreç de şöyle işler :

– Arama motoruna bağlatı yapılır
– Aranan kelime iletilir
– Aranan kelimenin bulunduğu kayıtların ID lerinin bulunduğu sonuçlar geri döndrülür
– Arama motoru sonuçları (eğer sonuç döndüyse) ayıklanarak veritabanından ilgili kayıtlar ID lerine göre çekilir.

Arama motoru ile ilgili işlem adımları daha çok görünse de,mysql fulltext search den daha hızlı sonuç alabilmekteyiz.

Burda bilinmesi gereken bir şey daha var, arama motoru sunucsu belirli aralıklarla veritabanına bağlanarak verileri yeniden indekslemek zorundadır. Yani üzerinde arama yapılan tabloya yeni veriler girilmiş veya mevcut veriler değişitirilmiş ya da silinmiş olabilir. İşte bu yüzden bir cron job ile , arama motorunun yeniden indeksleme yapması sağlanmalıdır. Bu indeksleme ve yeniden indeksleme ile ilgili konuya bir sonraki yazıda değinmeye çalışacağım.

Konumuzun başlığını oluşturan “Sphinx nedir” in cevabı: Yukarıda değinildiği gibi, veritabanından bağımsız olarak çalışarak, veritabanından çektiği verileri indeksleyen, sonrasında arama sorgularına cevap veren bir arama motoru sunucusudur. Sphinxin indeksleme yapabilmesi için tablo yapısının (MyISAM, InnodDB vb) önemi yoktur. Ayrıca dökümantasyonunda yazdıklarına göre, sadece MySQL için değil, PostgreSQL için de desteği mevcut..



___________________________________________

Noktada Küçüktür Ama Cümleyi Bitirir!
 Offline  
 
Alıntı ile Cevapla
Cevapla

Bookmarks

Seçenekler


Bilgilendirme Turkhackteam.net/org
Sitemizde yer alan konular üyelerimiz tarafından paylaşılmaktadır.
Bu konular yasalara uygunluk ve telif hakkı konusunda yönetimimiz tarafından kontrol edilse de, gözden kaçabilen içerikler yer alabilmektedir.
Bu tür konuları turkhackteamiletisim [at] gmail.com mail adresimize bildirebilirsiniz, konular hakkında en kısa sürede gerekli işlemler yapılacaktır.
Please Report Abuse, DMCA, Harassment, Scamming, Warez, Crack, Divx, Mp3 or any Illegal Activity to turkhackteamiletisim [at] gmail.com

Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz.
Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.



         

Powered by vBulletin® Copyright ©2000 - 2018

TSK Mehmetçik Vakfı

Türk Polis Teşkilatını Güçlendirme Vakfı

Google+

wau

Search Engine Friendly URLs by vBSEO 3.6.0 ©2011, Crawlability, Inc.