我正在使用PHP中的工具来扫描Instagram,以收集有关一堆标签的分析。目的是监视某些标签的演变/增长,并为人们提供一个搜索引擎,以获取有关每个标签的最新统计信息。
到目前为止,我已经有了一个相当简单的搜索引擎,并且运行了一个查询LIKE %'travel'%
的SQL查询。因此,如果有人输入“ #travel”,他们将得到包含世界“ travel”的任何内容,例如“ travelagent”,“ iliketotravel”等。
我面临的问题是,我想扩大搜索结果的范围,使其包含与#travel 相关的内容,就像http://displaypurposes.com或{{3} },而我正试图弄清楚他们是如何做到的。
我特别着迷于第一个函数,以及Graph函数:http://best-hashtags.com/
看起来他们已经有效地映射了众多主题标签之间的所有链接,并根据这些结果提供了结果。
我的数据库中大约有45000个主题标签,如何将它们链接在一起以实现“相关性搜索”,就像我上面提到的两个网站一样?如何建立类似的东西?我花了很长时间在网上寻找内容,却找不到我的问题的答案。
感谢您的帮助! :)
答案 0 :(得分:1)
这实际上不是编程问题,但我将尝试以解决该问题的方式回答。
在单个Instagram帖子上可能有多个标签。例如,您可能会让某人发布带有##rome
#travel
标签的罗马图片。现在,这将#rome
与#travel
关联起来,并将其视为两者之间的联系。
只要我们具有具有以下属性的表结构:
我们可以通过运行以下代码来找到最重要的关系:
SELECT COUNT(*) `Relation Occurances`,
b.Hashtag
FROM
Posts a
JOIN
Posts b
ON
a.PostNumber = b.PostNumber
WHERE
a.Hashtag = '#travel'
AND
b.Hashtag != '#travel'
您可以优化查询以将其限制为100个最重要的关系,依此类推。
要对此进一步扩展,关键是将帖子拆分为一个表,每个主题标签每个帖子有1行。如果您要对大文本进行通配符搜索,这将导致处理时间长且效率低下。