2

我有一个新闻脚本,我想从数据库中获取类似的新闻

任何帮助

我有这个

table => news
fields => id, title, news

我用了这段代码

    $select = $mysqli->query("SELECT * from news  WHERE title LIKE '%$title%' LIMIT 4 ");
$num = $select->num_rows;
while ($rows = $select->fetch_array(MYSQL_ASSOC)){  
$id_news       = $rows ['id'];
$title_news       = $rows ['title'];
$news_news       = $rows ['news'];

echo '<a href="'.$id_news.'">'.$title_news.'</a>';

}

但我认为这是为了搜索,但我没有得到想要的结果

从数据库中获取类似新闻的任何其他代码

谢谢

4

2 回答 2

1

这很难回答,因为我们不知道“相似”对您意味着什么,但您可能想查看MySQL Full-Text Search Functions

于 2013-08-24T13:25:04.190 回答
0

据我所知,没有快速、明确的方法可以做到这一点。您要求全文关键字或语义搜索,这是一个非常高级的主题。有完全为此目的而设计的完整搜索服务器(Sphinx - http://sphinxsearch.com/ - 是第一个想到的)。

在我看来,你有两个选择:

  1. 切换到搜索服务器,如 Sphinx,并使用该技术。这超出了这个问题的范围。
  2. 转换您的数据库模式,我将在下面解释。

例如,对于选项 #2,您可以keywords为每篇文章添加一个表格并插入关键字。然后,在搜索时,您可以使用其关键字查找任何文章,并找出具有相同关键字的文章。

于 2013-08-24T13:36:37.397 回答