MySQL Full-Text Search Minimum Length Limitini Değiştirmek
MySQL’in fulltext özelliği default olarak 4 ya da daha çok karakterden oluşan kelimeleri indexliyor. Bu durum full-text aramalarında 3 harften oluşan kelimeler için herhangi bir sonuç dönmemesine neden olabiliyor. Örnek olarak ”ssh” ya da “php” gibi 3 harften oluşan sorgular gönderdiğiniz zaman herhangi bir sonuç alamayabiliyorsunuz.
Bu durumun önüne geçmek üzere MyISAM tablolar için kullanılabilecek ”ft_min_word_len” isimli bir sistem değişken mevcut. my.cnf dosyasına eklenen bu değişken ile fulltext’e minimum kaç karakterin dahil edileceğini söyleyebilyorsunuz. Örnek olarak bu değeri 3 olarak set etmek ve varolan bir index’i bu değişikliğe göre rebuild etmek için aşağıdaki adımları izleyebilirsiniz:
my.cnf dosyasını editleyin. (Bu dosya genelde /etc altında bulunmaktadır.)
# vi /etc/my.cnf
Dosyanın [mysqld] isimli bölümüne aşağıdaki değişkeni ekleyin:
[mysqld] ft_min_word_len=3
Bu işlemden sonra MySQL servisinin yeniden başlatılması gerekiyor:
# /etc/init.d/mysqld restart
Şimdi min length değerini kontrol ederseniz 3 olduğunu görebilirsiniz:
mysql> show variables like 'ft_min_word_len'; +-----------------+-------+ | Variable_name | Value | +-----------------+-------+ | ft_min_word_len | 3 | +-----------------+-------+ 1 row in set (0.00 sec)
Bu şekilde artık yeni kayıtlar için index minimum 3 karakter olacak şekilde düzenlenecektir ancak eski kayıtların da güncellenmesi için index’in rebuild edilmesi gerekmektedir. Bu işin en kolay yolu ise ilgili tablo üzerinde quick repair işlemi yapmaktır.
Örnek olarak testdb isimli database’in deneme isimli tablosunda index olduğunu düşünürsek rebuild işlemi için aşağıdaki komutu kullanabiliriz:
mysql> use testdb; mysql> REPAIR TABLE deneme QUICK;
Bu şekilde işlem tamamlanmış oluyor.
Daha detaylı bilgi için aşağıdaki linke göz atabilirsiniz:
http://dev.mysql.com/doc/refman/5.6/en/fulltext-fine-tuning.html
BU YAZILAR DA İLGİNİZİ ÇEKEBİLİR
- Mysql Replikasyon Yapılandırması
- Mysql Server İçin Root Şifresi Tanımlamak
- Mysql Data Dizininin Yerinin Değiştirilmesi
- MySQL: InnoDB Database Ebatının Küçültülmesi – Shrink ibdata1
- Komut Satırından MySQL Kullanıcısı Oluşturmak
YORUMLAR
Henuz yorum yapilmamis.
Yorumda bulunun.





