我有一個網站,其左側有主要內容,右側網站上的相關商品標題與Youtube中一樣。如何使用標題和標籤搜索大多數相關商品
我想要的是查詢最相關的項目,以顯示在Youtube.com的正確地帶。
更多的信息: 在顯示任何項目的頁面上,有項目標題,圖片,非常簡短的描述和標籤(限於5)。
在數據庫中,我記錄了瀏覽次數,頁面投票數和評論數。
我的問題是我的網頁是泰語,所有單詞的標題和說明都是用單詞之間沒有空格的方式編寫的,這使得很難找到或檢索關鍵字表單標題和說明。
我現在所做的只是查詢具有相似標籤或標籤並按照視圖數量排序的項目。它適用於故事中未關閉的不同項目。我觀察到,對於具有相同標籤的項目(即使是1個標籤),結果幾乎相同。我認爲它應該在任何項目上顯示不同的結果,比如在youtube.com上。
介紹技術信息: 我有主表:entry, entry_tag, tag.
表中存儲entry_id, title,number of view, number of vote, number of comment, etc.
表entry_tag店entry_id, tag_id
表標籤存儲tag_id and tag
我當前的代碼是這樣的:
SELECT DISTINCT t1.* FROM entry AS t1
INNER JOIN entry_tag AS t2 ON t1.entry_id=t2.entry_id
INNER JOIN tag AS t3 ON t2.tag_id=t3.tag_id
INNER JOIN tag AS t4 ON t3.tag=t4.tag
INNER JOIN entry_tag AS t5 ON t4.tag_id=t5.tag_id
WHERE t5.entry_id={$entry_id} AND t1.entry_id!={$entry_id}
ORDER BY view DESC
LIMIT 20
任何想法或建議,這樣做?
我的代碼中的額外連接來自想法,我想用一個輸入作爲entry_id進行查詢,並避免額外的查詢來獲取tag_id,以便代碼爲我提供所有不同的entry_id和同一行中的所有字段。您的代碼也是一個好主意,特別是通過標記人口和類似的標記進行排序。你有想法在單個查詢中做到這一點嗎?謝謝。 –