How to use Postgresql Full Text Search

Merhaba, bu yazımda postgresql full text search’ün nasıl kullanıldığından bahsedeceğim ve gerçek bir tabloda nasıl hızlı arama yapabileceğimizi inceleyeceğiz.

Öncelikle movies adında bir tablo oluşturalım

Csv dosyasısını indirip ve aşağıdaki komut ile import ederek 1000 satırlık bir data elde etmiş olacaksınız. İleriki çalışmalarımız bu data üzerinde gerçekleşecek.

şimdi oluşturduğumuz tabloya full text search yapısını entegre edelim.

Tabloya ts_vector tipinde bir column ve index ekleyelim. Bu sütunda aranacak anahtar kelimelerimizi saklayacağız.

tsvector için farklı sözcük birimlerinin sıralı bir listesini saklayan data tipi diyebiliriz. Oluşturduğumuz bu alana her satır için aranması istediğimiz kelimeleri tanımlayacağız. Bu alanlar title, genre ve description olacak. isteğe göre çoğaltılabilir.

to_tsvector kısmında yazılan ilk parametre –english– postgrenin arkada belirledeği config tanımıdır bu ayar, ingilizce eş anlamlı ve benzer kelimeleri daha mantıklı olarak indexliyor iki eş anlamlı kelimeyi aynı alanda ayrıca tutmuyor. eğer ki belirli bir dile göre indexlemek istemiyorsanız ‘simple‘ configi kullanabilirsiniz.

Tablomuzda hızlı arama yapabilmek için hazırız. postgresql arama yapabilmek için birçok farklı fonksiyon desteği sunuyor. to_tsquery() fonksiyonu da bunlardan biri. Aşağıdaki sorgu, hero ile başlayan dataları listeleyecektir. Bu fonksiyonda da config tanımınızı ayrıca belirtebilirsiniz.

Bu gönderide full text search yapısını basit bir şekilde inceledik daha detaylı incelemeler için postgresql’in dokümantasyonunu inceleyebilirsiniz

You may also like...

Leave a Reply

Your email address will not be published.

English