假设我有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