php mysql 按相关性排序全文搜索

发布于 2024-12-02 00:36:16 字数 378 浏览 1 评论 0原文

如何按相关性进行PHP全文搜索?

SELECT * FROM table
WHERE MATCH (col1,col2,col3) 
AGAINST ('+$boolean' IN BOOLEAN MODE)
Order By relevance

我想设置相关性,首先匹配col1, col2,然后匹配col3,如果col1, col2匹配完,则匹配更多单词,然后交入col3

也许我应该设置一个百分比,例如 col1, col2 具有 66% 的相关性,col3 具有 34% 的相关性......

How to make a php fulltext search order by relevance?

SELECT * FROM table
WHERE MATCH (col1,col2,col3) 
AGAINST ('+$boolean' IN BOOLEAN MODE)
Order By relevance

I want to set the relevance, first should match col1, col2 then then match col3, for more words if col1, col2 finished match, then turn in col3.

Maybe I should set a percentage, like col1, col2 with 66% relevance and col3 with 34% relevance...

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

情徒 2024-12-09 00:36:16

你可以尝试这样的事情:

SELECT *, (MATCH(col1, col2) AGAINST('+$boolean' IN BOOLEAN MODE) * 0.66 + MATCH(col3) AGAINST('+$boolean' IN BOOLEAN MODE) * 0.34) AS relevance
FROM table
WHERE MATCH(col1, col2, col3) AGAINST ('+$boolean' IN BOOLEAN MODE)
ORDER BY relevance DESC

You can try something like this:

SELECT *, (MATCH(col1, col2) AGAINST('+$boolean' IN BOOLEAN MODE) * 0.66 + MATCH(col3) AGAINST('+$boolean' IN BOOLEAN MODE) * 0.34) AS relevance
FROM table
WHERE MATCH(col1, col2, col3) AGAINST ('+$boolean' IN BOOLEAN MODE)
ORDER BY relevance DESC
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文