Duyuruyu Kapat
Facebook Gözat
Twitter Gözat

InnoDB Fulltext Sorunu

Konu, 'Veritabanları' kısmında DerinSular tarafından paylaşıldı.

  1. DerinSular

    DerinSular Üye

    Kayıt:
    5 Haziran 2010
    Mesajlar:
    180
    Beğenilen Mesajlar:
    0
    Merhabalar,
    InnoDB de fulltext arama özelliğinin olmadığını biliyorum fakat fulltext arama yapmam gerekiyor. Mysql büyük boyutta olduğundan tabloyu MyISAM ada çeviremiyorum.
    Bu şekilde InnoDB kullanarak nasıl fulltext bir arama gerçekleştirebilirim.
    Kullandığım sorgu;

    PHP:
    MATCH (baslik,aciklama,il,ilce,semt,kistaslar,ozelliklerAGAINST ('+".addslashes($kelimeler)."' in boolean mode)
    bu şekilde.
    Yardımlarınız için şimdiden teşekkürler.
     
  2. che

    che Daimi Üye

    Kayıt:
    23 Ocak 2007
    Mesajlar:
    615
    Beğenilen Mesajlar:
    0
    MySQL 5.6.4 sürümü full-text desteğini veriyor. Bunun dışındaki çözümler size geçici bir çözüm sağlar, performansı düşürür. Bu nedenle var olan tablo yapınızı hiç değiştirmeden başka bir tablo oluşturup burdaki bilgileri orya ekleyebilir yada bir kpyasını elde edip MyISAM yapın.
    Her aramada Geçici bir tablo oluşturup onu kullanabilirsiniz. Örneğin.
    PHP:
    CREATE TEMPORARY TABLE arama (FULLTEXT INDEX (sütun1sütun2, ...)) Engine=MyISAM SELECT FROM orjinal_tablo;  
    SELECT FROM arama WHERE MATCH(sütun1sütun2, ...) AGAINST ('aranan bilgi'); 
    DROP TEMPORARY TABLE arama;
    Veya tetikleyici kullanabilirsiniz. Başka bir çözümde SQL fonksiyonu oluşturmanız.