multithreading - 编写搜索引擎

标签 multithreading search multiprocessing

标题可能有点误导,但我想不出更好的标题。我正在编写一个简单的搜索引擎,它将在多个站点上搜索特定域。具体来说:我正在为硬式生活集/后电影/轨道编写一个搜索引擎。为此,我将在提供直播、轨道等的网站上进行搜索。这里的问题是速度,我需要将搜索查询传递给 5-7 个站点,获取结果,然后使用我自己的算法按排序顺序显示结果。我可以“多线程”它,但说起来容易做起来难,所以我有几个问题。

  • 这个问题的最佳解决方案是什么?我应该多线程/处理这个应用程序,这样我会得到一些加速吗?
  • 有没有其他解决方案,或者我做错了什么?

  • 谢谢,

    威廉·范·多恩

    最佳答案

    除非您正在尝试学习多线程,否则请避免自己为此编写基础结构。同步许多可能需要不同时间的任务,处理失败等,这是一团糟。

    对于大部分可并行化的任务(例如查询多个站点、组合结果等),您可能需要查看现有基础架构。

    Map/Reduce 框架(例如 Hadoop for Java)可以为您处理其中的一些问题,让您专注于应用程序的逻辑。

    关于multithreading - 编写搜索引擎,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3070502/

    相关文章:

    php - 在php中使用超过2个组合参数的内连接sql查询显示记录

    python - 监视另一个进程(svn)

    C++ Dekker 的算法无法正常工作

    java - 一种快速线程安全的方法来识别源自父类(super class)的方法调用

    c# - 自定义事件和线程

    google-chrome - chrome 多功能框如何在域上添加搜索

    python - multiprocessing.Process 在哪里

    java - 为什么 Thread.currentThread.interrupt() 与 return 结合可以停止当前正在运行的线程

    java - 列表和队列中所有权模式的差异

    android - 如何在搜索时删除 android searchview 弹出文本?