2015-10-09 23 views
5

Sorun: MYSQL ve PHP'nin son sürümlerini kullanıyorum. Meseleyi MYSQL FULLTEXT aramasıyla karşı karşıyayız. Özel karakterlerle çalışmaz.Mysql fulltext search özel karakterlerle çalışmıyor

Örnek: etki tablosunda 'adı' alanı aşağıdaki üç değer var:

1. https://www.google.com 
2. https://www.yahoo.com 
3. https://www.trafe.com 

i arama terimini https://www.google.com kullanıyorum, bu sonucu ancak doğru olarak her şeyden önce üç değeri gösterecektir

SELECT name 
FROM domains 
WHERE MATCH (name) AGAINST ('https://www.google.com*' IN BOOLEAN MODE); 

Gerçek sonucu:cevap https://www.google.com.

Sorgu olduğunu

cevap

1

Kullanım çift tırnak: Bu yazdığınız gibi çift tırnak içinde muhafaza edilir https://dev.mysql.com/doc/refman/5.1/en/fulltext-boolean.html

bir ifade (“"”) karakterleri, kelimenin tam anlamıyla ifadesini içeren satırları eşleşir. Örneğin

:

SELECT name 
FROM domains 
WHERE MATCH (name) AGAINST ('"https://www.google.com"' IN BOOLEAN MODE); 

Sonuç:

name 
https://www.google.com 

Eğer gerçekten (* çift tırnak içine alınır) '"https://www.google.com*"' arayabilirsiniz * olduğunu istiyorum.

İşte SQL keman: http://sqlfiddle.com/#!9/a6458/6

+0

Teşekkür ederiz. Bir çekicilik gibi çalışıyor. Ancak alan değeri '2 - 9' ve '+91 8525896584' gibi ise, bu değerler aranmaz. – raj

+0

@raj, '2 - 9' ve '+91 8525896584' ile sorununuzu anlamıyorum. Yeni soru oluştur, uygun açıklama ve örnek ver. –

+0

Merhaba @ grzegorz-adam-kowalski, http://stackoverflow.com/questions/33096544/mysql-fulltext-search-does-not-work-with-hypen-and-plus adresinden ayrı bir şekilde açıkladım. lütfen kontrol edin ve nazikçe önerin. – raj

İlgili konular