Postgres FTS (FullText Search) uygulaması hakkında tavsiye edebileceğiniz döküman varmı?
Teşekkürler. ----- Orijinal Mesaj ----- 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] > yazdı: <blockquote> ElasticSearch var birde onu deneyin. Ya da imkan varsa PostgreSQL'e terfi edin ;) On 08/03/2015 02:51 AM, Ayhan DELİCAN wrote: <blockquote> Ö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] > yazdı: <blockquote> 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 ][ raspberry-pi.tankado.com ] _______________________________________________ Linux-programlama mailing list [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 | dikeylimit.net | plakatr.com _______________________________________________ Linux-programlama mailing list [email protected] https://liste.linux.org.tr/mailman/listinfo/linux-programlama Liste kurallari: http://liste.linux.org.tr/kurallar.php </blockquote> -- 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 </blockquote> -- Omer Barlas [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 </blockquote> -- 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
