簡體   English   中英

MySQL選擇查詢匹配並針對問題

[英]Mysql Select Query with match and against issue

這是我執行搜索的代碼

 SELECT d.deal_id,
    d.deal_title,
    d.friendly_url
    FROM wp_deals AS d
   WHERE MATCH (d.deal_title) AGAINST ('Historic China eight day tour' IN BOOLEAN MODE)
   GROUP BY d.deal_id

它工作正常,並給出14個結果。 其中之一是

桑迪海峽(Great Sandy Straits)兩夜自然之旅(Natural Encounters Tour),兩人同日落巡游等。 最高立減$ 1,071!

但是當我搜索“ with”或“ more”時,

SELECT d.deal_id,
   d.deal_title,
   d.friendly_url
 FROM wp_deals AS d
WHERE MATCH (d.deal_title) AGAINST ('more' IN BOOLEAN MODE)
GROUP BY d.deal_id


 SELECT d.deal_id,
   d.deal_title,
   d.friendly_url
   FROM wp_deals AS d
   WHERE MATCH (d.deal_title) AGAINST ('with' IN BOOLEAN MODE)
   GROUP BY d.deal_id

盡管它們都具有和更多,但不會給出任何結果。 我不是這種搜索查詢的專家。

當我用“ tour”搜索時,它們的效果也很好。發生了什么。 不能理解為“游覽”,“具有”和“更多”都包含四個字母以及它們的標題。

你們是天才。

您的建議,這樣可以鍛煉身體。

提前致謝。

在布爾型全文本搜索中,停用詞列表適用,常用詞(例如“ some”或“ then” ...)是停用詞,如果出現在搜索字符串中則不匹配: http : //dev.mysql.com/doc/ refman / 5.5 / en // fulltext-boolean.html

停用詞列表: http//dev.mysql.com/doc/refman/5.0/en/fulltext-stopwords.html

最知名的解決方案是禁用列表或從中添加/刪除值: 如何在MYSQL中重置停用詞?

另外:

SELECT d.deal_id,
   d.deal_title,
   d.friendly_url
FROM 
   wp_deals AS d
WHERE MATCH (d.deal_title) AGAINST ('+more*' IN BOOLEAN MODE)
GROUP BY d.deal_id

暫無
暫無

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

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