[英]match against shows only exact matches or matches data with some suffix not prefix, in MySQL fulltext search
我已經在線搜索過,但沒有找到任何使用完整鏈接的全文搜索僅返回完全匹配的內容
我有帶有行值的列標題
shiva
goodshiva
goodshiva
goodshivagood
查詢:
SELECT * FROM `jobs` WHERE match(posttitle) against('shiva' in boolean mode)
和
SELECT * FROM `jobs` WHERE match(posttitle) against('*shiva*' in boolean mode)
不返回任何值
SELECT * FROM `jobs` WHERE match(posttitle) against('shiva*' in boolean mode)
和
SELECT * FROM `jobs` WHERE match(posttitle) against('+shiva*' in boolean mode)
僅顯示shivagood和shiva
使用自然語言模式僅顯示完全匹配。
有沒有不用like的方法嗎?
您已發現mysql全文搜索的局限性。
沒有與之等效的語法
LIKE '%something%'
雖然MySQL本身將為該類型的查詢返回結果,但無法使用索引,因此所涉及的表將被“表掃描”
僅當單詞以shiva 開頭時,+ shiva *的全文匹配語法才會匹配。 它不適用於包含濕婆但不以濕婆開頭的單詞。
*shiva*
不支持。
由於此限制和全文搜索的其他問題,許多網站都使用了獅身人面像或Solr等外部搜索引擎。 例如,獅身人面像確實允許
'*shiva*'.
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.