簡體   English   中英

搜索查詢中與匹配項有關的問題

[英]Issue with Match Against in search query

我遇到一個列出產品的網站。

我正在使用全文索引和匹配搜索

有一個名為“ itemcode”的字段,該字段為varchar類型

原來是其中一種代碼,例如

“ WTC-153-U”

當我在文本框“ WTC-153”上鍵入時,沒有任何結果,我猜它是基於連字符和數字的,是否有任何解決方法或更好的方法?

我現在似乎無法找到解決方案而不必修改那么多代碼

查詢是這樣的

SELECT field FROM table WHERE MATCH(itemcode) AGAINST ('WTC-153')

謝謝

-用作單詞分隔符,因此'WTC-153-U'視為三個單詞'WTC''153''U'

使用MyISAM,全文搜索的默認單詞長度下限為4個字符,而使用InnoDB時,則為3(可以更改)。

如果您使用的是InnoDB,則可以通過在文本中同時搜索'WTC''153'來解決此問題。顯然,即使這些單詞在一起或順序不正確,也會返回結果。

否則,您可以使用LIKE '%WTC-153%'搜索,但這將無法使用索引。 LIKE 'WTC-153%'可以使用索引,但是僅當字段以'WTC-153'開頭時才返回行。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM