2012-05-15 84 views
1

在vendor_tbl TABEL我有話的地塊「微軟」但是,當我輸入關鍵字「mecrsoft」高級關鍵字搜索在PHP MySQL的

或像這樣它不回我像項目建立在微軟的記錄和SQL查詢返回0的記錄

如何使用intelligency使查詢還給了我所有的記錄,像我的關鍵字

下面我發佈在其他

任何suggetion黃色葡萄球菌幫助SQL查詢,使查詢更好

$keyword='mecrsoft'; 
$mykeyword= explode(" ",$keyword); 
for($i=0;$i<count($mykeyword);$i++) 
    $keywords_v[]="vendor_name like '%".$mykeyword[$i]."%' or page_description 
    like '%".$mykeyword[$i]."%' or keyword like '%".$mykeyword[$i]."%' or 
    page_title like '%".$mykeyword[$i]."%' or page_description like 
    '%".$mykeyword[$i]."%' "; 

$q="select vendor_name,slug,page_description,keyword, 
    page_title,page_body from vendor_tbl 

where (".implode(',',$keywords_v).")"; 

$rs=mysql_query($q); 

回答

0
  1. 你有一個像「mecrsoft」的意思是「微軟」或
  2. 您可以實現Levenshtein距離算法
+0

如何在SQL查詢中使用萊文斯坦從TABEL現場取記錄 – user1138383

+0

你能告訴我如何在sql查詢中應用levenshtein距離算法? – user1138383

+0

@ user1138383 Mysql沒有levenshtein,但可以爲此創建存儲函數。另外,我建議你有關鍵詞的正確名詞列表。 –

2

我認爲這是與搜索引擎的工作概率方面的數據對分析人員理解錯誤的詞語。例如,ElasticSearch和模糊查詢:

http://www.elasticsearch.org/guide/reference/query-dsl/fuzzy-query.html

或者你也可以在MySQL中使用萊文斯坦功能

Levenshtein: MySQL + PHP

+0

如何在SQL查詢中實現Levenshtein? Becoz我測試Soundex功能,但是這給了相同的Probelm – user1138383

+1

我從來沒有這樣,對不起。但你可以試試這個:http://kristiannissen.wordpress.com/2010/07/08/mysql-levenshtein/ –