我試圖用mysql進行全文搜尋,以匹配字串.問題在於它首先返回了奇怪的結果.
例如,字串』passat 2.0 tdi』:
and match (
records_veiculos.titulo,records_veiculos.descricao
against (
'passat 2.0 tdi' with query expansion
作為第乙個結果返回這個(其他人都很好):
volkswagen passat variant 1.9 tdi- ano 2003
這是不正確的,因為在這個例子中沒有「2.0」.
會是什麼呢?
edit2:對於記錄,儘管問題被標記為已回答,但mysql分隔符的問題仍然存在,因此如果有人對如何逃避分隔符有任何建議,那麼將會受到讚賞並且值得獲得500分.我發現增加結果集的sollution是用in boolean mode替換with query expansion,使用運算子強制引擎得到我需要的單詞,如:
and match (
records_veiculos.titulo,records_veiculos.descricao
against (
'+passat +2.0 +tdi' in boolean mode
它根本沒有解決,但至少結果的相關性發生了顯著變化.
mysql 匹配 mysql模糊匹配
1,表示任意0個或多個字元。可匹配任意型別和長度的字元,有些情況下若是中文,請使用兩個百分號 表示。比如 select from user where u name like 三 將會把u name為 張三 張貓三 三腳貓 唐三藏 等等有 三 的記錄全找出來。另外,如果需要找出u name中既有 三...
mysql 匹配字元類 MySQL正則匹配字元類
我不懂mysql中匹配字元類到底怎麼理解?upper 表示任意大寫字母,同 a z 通過下面這一句得到出現過大寫字母的prod name select prod name from products where prod name regexp upper 使用 upper 則會全部輸出。同樣的道理...
mysql模糊匹配
1,表示任意0個或多個字元。可匹配任意型別和長度的字元,有些情況下若是中文,請使用兩個百分號 表示。比如 select from user where u name like 三 將會把u name為 張三 張貓三 三腳貓 唐三藏 等等有 三 的記錄全找出來。另外,如果需要找出u name中既有 三...