PHP:索引大型RSS提要数组

时间:2017-12-19 02:17:10

标签: php json indexing rss

目前,我正在检索单个RSS提要并以JSON格式存储我需要的数据,例如每个源(如100):

{
"status": "ok",
"source": "source-string",
"sortBy": "top",
"unixTimeStampLastUpdated": 1513555729,
"articles": [{
    "author": null,
    "title": "Article Title",
    "description": "Short Description",
    "urlToImage": null,
    "publishedAt": 1513536447,
    "id": "2017-12_5a370775559fa"
},
 ...and so on

我以该格式为每个来源(约100个来源)存储每月JSON文件。

由此,我根据每月JSON文件源生成页面。对于列出的每篇文章,它都有一个唯一的ID,需要指向我服务器上的某些内容;要做到这一点,我有一个ENORMOUS每月数组只包含文章ID和一些属性,如下所示:

{
"2017-12_5a3701fb89c99": {
    "title": "Sample Article Title",
    "url": "https:\/\/www.example.com\/",
    "feed": "the-source",
    "origin": "2017-12"
},
"2017-12_5a3701fba9c9a": {
    "title": "Sample Article Title",
    "url": "https:\/\/www.example.com\/",
    "feed": "the-source-2",
    "origin": "2017-12"
},

我的问题:

检索文章,索引文章,展示文章以及对文章的回调采取行动的最佳方式是什么(ID);照明快速而有条理?

我不确定SQL数据库是否可以解决我的问题,因为我还没有设置一个,我认为这可能更简单......

我是否可以通过仅在1个JSON文件中列出的每篇文章来完成此操作,而不是在几个地方引用它?还是会缺乏速度?

非常感谢任何输入!

1 个答案:

答案 0 :(得分:1)

听起来你的数据不是非常关系,你想要:

  1. 键值/文档存储。 [快速检索,例如:id - > json doc]
  2. 使用松散架构构建/搜索索引覆盖数据的东西。 [快速搜索,例如:作者 - > doc id]
  3. 欢迎来到NoSQL土地。

    有许多简单的服务可以完成一项任务或另一项任务,例如:Lucene或Solr for search]以及大量可以完成这两项任务的整合服务。如果您正在某个公共云中运行此应用程序[例如:AWS DynamoDB,GCP数据存储区],那么他们可能已经拥有了您想要的服务,否则您可能会想要查看类似Couchbase的内容, Cassandra,或Elasticsearch。

    我试图尽可能广泛,以免引发一场神圣的战争,但你的问题本身实际上是以“太宽泛”和“主要以意见为基础”开始的。

    最后,如果所有这些太令人生畏,你总是可以在RDBMS中拼凑出近似的NoSQL系统近似值。事实上,Postgres有一些非常好的工具可以与无模式数据进行交互。