İlişkisel veritabanları dikeyde arama yapar. Yani bu sistemler satırlarda arama yapmak için tasarlanmıştır. Performansı da gayet iyidir.
Peki ya yatayda durumlar nasıl?
Yatayda dediğim konu verilerin bir sütunda text olarak tutulması. Arka arkaya tren vagonu gibi dizilmiş kelimeler, cümleler.
Örneğin bir özgeçmiş, kitap text’i, twitter verisi gibi yapılardan bahsediyorum. Buralarda bir kelimeyi aramak normal sql cümlesi ile yapılmaz. Fulltext search dediğimiz yapılar kullanılır.
Peki, hazırcılık yapmak yerine kendi fulltext search algoritmamızı yazmaya ne dersiniz?
4milyon satırlı bir e ticaret datasında milisaniye mertebesinde arama yapmaya?
Ya da 1000 satırlı bir e-kitap datasında kelime ararken yine milisaniye mertebesinde sonuç bulmaya?
Cevabı burada 🙂