http://www.postgresql.org/docs/9.4/static/


On 08/03/2015 03:37 PM, SEZAYİ BUĞDAYCI wrote:
Postgres FTS (FullText Search) uygulaması hakkında tavsiye edebileceğiniz döküman varmı?

Teşekkürler.


------------------------------------------------------------------------
*Kimden: *"M.Atıf Ceylan" <[email protected]>
*Kime: *[email protected]
*Gönderilenler: *3 Ağustos Pazartesi 2015 14:06:45
*Konu: *[Linux-programlama] Re: MySQL fulltext search sorgusunda takıldım


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



_______________________________________________
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