PHP:索引大型RSS源数组

问题描述 投票:0回答:1

目前,我正在检索单个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数据库是否可以解决我的问题,因为我还没有设置一个,我认为这可能更简单......

有没有办法,我只能在一个JSON文件中列出的每篇文章,而不是在几个地方引用?还是会缺乏速度?

任何投入将不胜感激!

php json indexing rss
1个回答
1
投票

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

  1. 键值/文档存储。 [快速检索,例如:id - > json doc]
  2. 使用松散模式构建/搜索索引的数据超出数据。 [快速搜索,例如:作者 - > doc id]

欢迎来到NoSQL土地。

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

我试图尽可能广泛,以免引发一场圣战,但你的问题本身真的是为了“太宽泛”和“主要基于意见”而开始。

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

© www.soinside.com 2019 - 2024. All rights reserved.