日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

php mysql关键字查询_使用php mysql进行关键字搜索?

發(fā)布時(shí)間:2023/12/10 数据库 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php mysql关键字查询_使用php mysql进行关键字搜索? 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

我的mysql表中有title(varchar)、description(text)、keywords(varchar)字段。

我保留關(guān)鍵字字段,因?yàn)槲乙詾槲抑辉谶@個(gè)字段中搜索。但我現(xiàn)在需要在這三個(gè)領(lǐng)域中進(jìn)行搜索。因此,對(duì)于關(guān)鍵字“word1 word2 word3”,我的查詢將變?yōu)?/p>

SELECT * FROM myTable

WHERE (

name LIKE '%word1%' OR description LIKE '%word1%' OR keywords LIKE '%word1%'

OR name LIKE '%word2%' OR description LIKE '%word2%' OR keywords LIKE '%word2%'

OR name LIKE '%word3%' OR description LIKE '%word3%' OR keywords LIKE '%word3%')

AND status = 'live'

看起來有點(diǎn)亂,但這很管用。但現(xiàn)在我需要實(shí)現(xiàn)同義詞搜索。所以對(duì)于一個(gè)給定的詞,假設(shè)有幾個(gè)同義詞可用,當(dāng)我循環(huán)遍歷所有的詞時(shí),這個(gè)查詢會(huì)變得更加混亂。隨著需求越來越清楚,我還需要將這個(gè)mytable加入到其他一些表中。

所以

您認(rèn)為上述方法是混亂的,并且會(huì)隨著數(shù)據(jù)的增長而引起問題嗎?

我怎樣才能避免上面的混亂呢?有什么更清潔的解決方案我可以過去嗎?任何例子都會(huì)幫助我。

你能向我推薦其他的方法嗎?

以謝

編輯

@PeterStuifzand建議我創(chuàng)建一個(gè)搜索索引表,并存儲(chǔ)所有3個(gè)字段(標(biāo)題、關(guān)鍵字、描述)的相關(guān)信息,然后進(jìn)行全文搜索。我理解,另外,這個(gè)表還將包含對(duì)mytable主鍵的引用。

但我的高級(jí)搜索可能包括將myTable與類別表、地理位置表(用于10英里、20英里等范圍內(nèi)的搜索)、按其他條件過濾,當(dāng)然還有搜索結(jié)果的排序。你認(rèn)為使用mysql全文不會(huì)減慢速度嗎?

總結(jié)

以上是生活随笔為你收集整理的php mysql关键字查询_使用php mysql进行关键字搜索?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。