首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从数据库中搜索的算法或工具

问从数据库中搜索的算法或工具
EN

Stack Overflow用户
提问于 2012-11-21 23:35:57
回答 1查看 1.9K关注 0票数 0

我有一个数据库表:

代码语言:javascript
复制
Column       Type

source       text            
news_id      int(12)             
heading      text            
body         text        
source_url   tinytext
time         timestamp
news_pic     char(100) 
location     char(128)
tags         text
time_created timestamp
hits         int(10)

现在,我正在搜索一个算法或工具,以便在这个表中搜索包含新闻数据的关键字。关键字应该在标题、正文、标签和新闻点击次数中搜索,以获得最佳效果。

EN

回答 1

Stack Overflow用户

发布于 2012-11-21 23:59:46

MySQL已经有了您需要内置的工具:全文搜索。我将假设您知道如何使用PHP与MySQL交互。如果没有,那就先调查一下。总之..。

1)向要搜索的字段添加全文索引:

代码语言:javascript
复制
alter table TABLE_NAME add fulltext(heading);
alter table TABLE_NAME add fulltext(body);
alter table TABLE_NAME add fulltext(tags);

2)使用match ... against语句执行全文搜索:

代码语言:javascript
复制
select * from TABLE_NAME where match(heading, body, tags, hits) against ('SEARCH_STRING');

显然,在这些示例中,将表的名称替换为TABLE_NAME,将搜索字符串替换为SEARCH_STRING。

我不明白你为什么要搜索点击次数,因为它只是一个整数。但是,通过在查询中添加order子句,可以按点击次数进行排序:

代码语言:javascript
复制
select * from TABLE_NAME where match(heading, body, tags, hits) against ('SEARCH_STRING') order by hits desc;
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13503798

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档