Hocam windows haricinde böyle bir problemin varlığından haberdar değilim desem? Postgres dil ile ilgili işlevselliğini isletim sisteminden alır. Eğer işletim sistemi tarafinda locale problemi varsa o durumda sorun yasanmış olabilir ki, windows tarafinda da durum böyle. Ben 10 yıldır böyle bir sorun yaşadığımı inanın anımsamıyorum.

Postgres FTS (FullText Search) benim gördüğüm open source en iyi FTS cözümünü sunuyor. Hatta bir musterim 2 büyük ticari DB'den sırf FTS tarafındaki çözüme kavuşturamadıkları bir sorun nedeni ile Postgres'e geçmek üzere.

MySQL aradığınız sözcüğü eşleştirirken dilbilgisine vakıf olmadan arama yapar.

Örneğin:
"Ahmet Türkçe kitabını okumayı çok seviyor."

MySQL'de

"kitabı sever" anahtar kelimeleri ile aradığınızda sonuç bulunamazken PostgreSQL bu kelimelerle arama sonucu döndürür ve highlighting yapar, score verir.

Bunun nedeni Türkçe'yi biliyor olmasıdır. Bu sayede aradığınız sözcük farklı kiplerde geçiyor olsa bile sonuç dönecektir. Çoğu durumda ElasticSearch gibi çözümlere ihtiyaç kalmamaktadır. Aynı alan içinde locale bilgisi vererek arama yapıldığında diğer dilleri de aynı şekilde bilir ve arar.

On 08/03/2015 01:21 PM, Omer Barlas wrote:
PgSQL 'de de UTF-8 ile küçük büyük harf karışık arama problemi vardı diye hatırlıyorum, hala devam ediyor mu? Eğer etmiyorsa PgSQL gerçekten de en iyi çözüm.

3 Ağustos 2015 10:41 tarihinde "M.Atıf Ceylan" <[email protected] <mailto:[email protected]>> yazdı:

    ElasticSearch var birde onu deneyin. Ya da imkan varsa
    PostgreSQL'e terfi edin ;)


    On 08/03/2015 02:51 AM, Ayhan DELİCAN wrote:
    Özgür Bey MySql'in Fulltext Search i inanılmaz başarısız zaten.
    Performans olarakta sizi tatmin etmeyecektir.

    Size önerim, Sphinx Search(C++ ile yazılmış) veya SOLR(Java ile
    yazılmış Tomcat'e ihtiyacı olur) kullanmanız.
    Gözünüzde büyütmeyin kullanımları oldukça basit fakat benim
    tercihim herzaman Sphinx Search ten yanadır.

    SOLR de indexleme yapabilmeniz için dökümanlarınızı XML formatına
    almanız gerekmekte (başka bir yöntemi varsa bilemiyorum)

    Sphinx Search ise install den sonra kullanımı oldukça kolay, bir
    tane ayar dosyası içerisinde SQL sorgunuzu yazıyorsunuz ve
    SphinxSearch onu düzenli periyotlarda sizin belirlediğiniz bir
    CronTab ile indexliyor (RealTime yapmazsanız).

    Size kalan sadece sorgu yapmak kalıyor ve Sphinx size sonuçları
    sadece dizi içinde id numaraları olarak döndürüyor ve siz bu id
    numaralarını MySQL in IN(564,987,98798,98789) şeklinde sonuçları
    alıp ekrana bastırıyorsunuz.



    *EK BİLGİ*
    Kendi adıma Faceted Search üzerine çok çalıştığımı belirtmek
    isterim SOLR de bu hazır bir kütüphane iken Sphinxte kendi veri
    yapımı oluşturdum, iki çekirdekli Linode VPS ve 2GB ramli bir
    makinada (arkada 10 tane daha site çalışır durumdayken) aldığım
    sonuçlar muazzam.

    http://demo.dizelweb.com/?i=katalog&kat=396 adresinden
    görebileceğiniz gibi, solda 200 adet filtre var ve 1000 tanede
    ürün var. Herbir filtre için toplam ürün belirtilmiş durumda yani
    sayfa her açılışında 200.000 işlem yapıyor. Hiçbir filtre
    işaretlenmemişken 200.000 işlemi saniyenin sadece binde 2 sinde
    yapmakta.




    3 Ağustos 2015 01:21 tarihinde Özgür KOCA <[email protected]
    <mailto:[email protected]>> yazdı:

        Merhaba liste,

        Sorgularımın başarımını artırmak için çaba sarfediyorum fakat
        bir noktada takıldım.

        Normalde şu SQL başarımından şikayetçiyim doğal olarak
        baştaki %'den index kullanılamıyor (full table scan)

        SELECT * FROM imla WHERE kelime like '%ar_z%';

        Yukarıdaki sql'in yerine geçecek bir fulltext search
        uygulamaya çalışıyorum. Fulltext index oluşturup
        (ft_min_word_len = 1) şu şekilde yazdım fakat işe yaramıyor:

        SELECT * FROM imla WHERE match(kelime) against('*ar*z*' in
        boolean mode);

        Kullanımda bir hata yapıyorum ya da eksik bilgim var.

        Yardımcı olursanız çok sevinirim.




        Özgür Koca
        [tankado.com <http://tankado.com/>][raspberry-pi.tankado.com
        <http://raspberry-pi.tankado.com/>]


        <http://www.facebook.com/zerostoheroes/>

        _______________________________________________
        Linux-programlama mailing list
        [email protected]
        <mailto:[email protected]>
        https://liste.linux.org.tr/mailman/listinfo/linux-programlama
        Liste kurallari: http://liste.linux.org.tr/kurallar.php




--


    Ayhan DELİCAN
    tekneyatshop.com <http://www.tekneyatshop.com> | dikeylimit.net
    <http://www.dikeylimit.net> | plakatr.com <http://plakatr.com>


    _______________________________________________
    Linux-programlama mailing list
    [email protected]  
<mailto:[email protected]>
    https://liste.linux.org.tr/mailman/listinfo/linux-programlama
    Liste kurallari:http://liste.linux.org.tr/kurallar.php

--
    M.Atıf Ceylan


    _______________________________________________
    Linux-programlama mailing list
    [email protected]
    <mailto:[email protected]>
    https://liste.linux.org.tr/mailman/listinfo/linux-programlama
    Liste kurallari: http://liste.linux.org.tr/kurallar.php




--
Omer Barlas
[email protected] <mailto:[email protected]>


_______________________________________________
Linux-programlama mailing list
[email protected]
https://liste.linux.org.tr/mailman/listinfo/linux-programlama
Liste kurallari: http://liste.linux.org.tr/kurallar.php

--

M.Atıf Ceylan

_______________________________________________
Linux-programlama mailing list
[email protected]
https://liste.linux.org.tr/mailman/listinfo/linux-programlama
Liste kurallari: http://liste.linux.org.tr/kurallar.php

Cevap