关键词不同刮刀状态跟踪保持检索速度

时间:2017-12-13 09:09:24

标签: ruby-on-rails multithreading search web-scraping web-crawler

为了更好地理解这里是使用MySQL在Ruby on Rails中我的抓取应用程序的表/模型:

  • Scraper(刮刀在给定网站上搜索所有关键字)
  • 关键字(包含搜索字词和状态(:搜索,搜索,搜索))

系统是多线程的,所以我不得不为状态添加一列,以便多个线程不会同时搜索同一个术语。

最初我有一个刮刀&一切都很好。现在新的要求是同时运行多个刮刀。

这意味着单个状态字段不适用于所有已删除的状态。我想到的第一个选择就是建立多种多样的刮刀关系。用于跟踪每个刮刀的搜索关键字的关键字。

现在我有大约100万个关键字&有大约60-70个网站需要搜索。这意味着一个庞大的表格会降低关键字检索过程的速度。

我正在寻找一种不会影响速度的更好的解决方案。由于客户的某些限制,我无法转移到NoSQL。

0 个答案:

没有答案