php中的搜索引擎?

php中的搜索引擎?,php,logic,search-engine,Php,Logic,Search Engine,我想用php创建一个搜索引擎(比如Google,Ask)。那么,请告诉我如何创建它。它的逻辑是什么? <?php echo ' <form action="http://www.google.com/search" method="get"> <input type="textbox" name="q" id="q" /> <input type="submit" value="Search" />

我想用php创建一个搜索引擎(比如Google,Ask)。那么,请告诉我如何创建它。它的逻辑是什么?


<?php
    echo '
    <form action="http://www.google.com/search" method="get">
        <input type="textbox" name="q" id="q" />
        <input type="submit" value="Search" />
    </form>';
?> 

搜索引擎必须执行四项基本功能:

  • 收集要爬网的网站列表
  • 下载每个网站的内容,并建立“关键字”到页面的映射
  • 允许用户键入关键字,然后将这些关键字与您在步骤2中构建的映射进行匹配
  • 按照与用户相关的顺序显示步骤#3的结果
  • 这听起来很简单,如果要搜索的页面数量很少,那么通常情况下就是这样。困难来自于从100多页扩展到今天互联网上的数十亿页

    大多数困难——以及谷歌比其他许多引擎更好的原因——不是“搜索”数十亿页(即第1-3步)的技术能力,而是决定在这些数十亿页中哪一页显示在(或接近)结果的顶部(即第4步)

    例如,当你在google中输入“stack overflow”时,他们的索引中有210万页与这些关键字相匹配:google的优势在于它的算法决定了这个堆栈溢出应该作为第一个结果出现(与维基百科关于这个主题的文章相反)


    他们这样做的方式是许多大学生论文、白皮书、书籍和猜测的主题。请放心,实际的算法在谷歌是一个严密保密的秘密,我怀疑有很多人知道它的每个方面的细节。它也是不断变化的。

    搜索引擎搜索什么?万维网?为什么不?这不是一个愚蠢的问题。我不认为这是一个如此糟糕的问题,但如果你能更具体地说明你的要求,它会对你有所帮助。你想搜索什么?一分贝?档案?您希望搜索如何输出?您的“用户”将如何使用此功能?你建造它的目的是什么?如果你能把这个加入到你的问题中,我相信你会得到一些答案和更少的负面观点…@Ganesh,同意。如果他以完全不同的方式提出这个问题,这将是一个有效的问题。就目前而言,我称之为恶作剧。也许你应该先学习如何使用搜索引擎。哈哈,这个答案应该被接受@蒂奥斯,我认为这是这个问题的最佳答案……;)