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