簡體   English   中英

如何使用PHP和MySQL獲取相關文章

[英]How to get related posts using PHP and MySQL

使用PHP和MySQL獲取相關文章的最佳方法是什么? 第二個問題是,我如何通過比較每個帖子的標簽和類別來獲得前5個相關的帖子。 下面列出了MySql表。

CREATE TABLE categories ( 
id INT UNSIGNED NOT NULL AUTO_INCREMENT, 
parent_id INT UNSIGNED NOT NULL DEFAULT 0, 
category VARCHAR(255) NOT NULL, 
url VARCHAR(255) NOT NULL,
PRIMARY KEY (id), 
INDEX parent (parent_id),
UNIQUE KEY(parent_id, url)
);

CREATE TABLE posts_tags (
id INT UNSIGNED NOT NULL AUTO_INCREMENT,
tag_id INT UNSIGNED NOT NULL,
users_posts_id INT UNSIGNED NOT NULL,
PRIMARY KEY (id)
);

CREATE TABLE tags (
id INT UNSIGNED NOT NULL AUTO_INCREMENT,
tag VARCHAR(255) NOT NULL,
PRIMARY KEY (id)
);


CREATE TABLE users_posts (
id INT UNSIGNED NOT NULL AUTO_INCREMENT,
user_id INT UNSIGNED NOT NULL,
title TEXT NOT NULL,
posts_content LONGTEXT NOT NULL,
PRIMARY KEY (id)
);

職位相關性是一個很大的研究領域,沒有一個好的解決方案。 您可以為每個帖子分配+0.1點用於標記匹配,為+0.4分配類別匹配。 以后您也可以考慮發布內容。 然后,您可以按此值排序。

這不是您可以在1 sql查詢中輕松完成的操作。

SQL用於數據檢索,對於根據客觀標准(答案正確或錯誤)檢索數據很有用。 沒有什么措施可以使帖子成為“相關帖子”,因此,單獨使用SQL並不能有效地做到這一點。

文檔聚類 ,即對相關文檔進行分組,是一個龐大而活躍的研究領域,因此這是一個不錯的起點,但是您自己實現某些功能將非常困難。 根據您使用的語言,您可能會查看集群庫。 例如,如果您正在使用Java(或在JVM上運行的任何東西,或者您可以設置Web服務來進行集群),那么可以考慮使用Weka

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM