假設我有5個文檔作爲行和2列'文檔'和'描述'在mySQL表中。關鍵字搜索和排名結果
- 資料1:約翰和南希是最好的朋友。
- 資料2:約翰,凱西,大衛,南希是最好的朋友。
- 文檔3:Nancy和Casey是最好的朋友。
- 文件4:David與Casey有關係。大衛和凱西瘋狂地戀愛。
- 文件5:大衛和約翰是兄弟姐妹。
因此,如果搜索查詢是「David Casey」,那麼如何根據所有5個文檔中的詞頻計算查詢並根據頻率對結果進行排名。
在這種情況下,結果應該是這樣的:
- 文獻4(因爲有2 '大衛' 和2 '凱西')
- 文獻2(1 '大衛' 和1 '凱西')
- 文獻3(1'凱西)
- 文件5(1 '大衛')
我讀過許多TF-IDF的文章,但沒有人能幫助我。我不知道如何編寫代碼。
這是我當前的代碼:
$ searchCondition = 「描述LIKE「%」。 implode(「%」或描述LIKE'%「,$ searchTerms)。 「%'」;
$ query =「SELECT description FROM table1 WHERE $ searchCondition ORDER BY description ASC」;
$ result = mysqli_query($ dbc,$ query);
...
...
...
歡迎來到SO!另外,您的代碼包含您應該修復的[SQL注入](http://php.net/manual/en/security.database.sql-injection.php)漏洞。 – 2011-12-20 10:35:09
你有沒有看過MySQL的全文搜索功能http://dev.mysql.com/doc/refman/5.1/en/fulltext-search.html – liquorvicar 2011-12-20 10:43:42
已經有了,但我仍然沒有想法。 :/ – Fhzwn 2011-12-20 10:50:24