gpt4 book ai didi

search - 构建网络搜索引擎

转载 作者:行者123 更新时间:2023-12-02 02:08:12 25 4
gpt4 key购买 nike

我一直对开发网络搜索引擎感兴趣。什么是一个好的开始?我听说过 Lucene,但我对 Java 不是很了解。还有其他好的资源或开源项目吗?

我知道这是一项艰巨的任务,但这也是吸引力的一部分。我并不是想创建下一个 Google,只是想用它来搜索我可能感兴趣的网站子集。

最佳答案

搜索引擎有几个部分。从广义上讲,以一种无可救药的一般方式(各位,如果您觉得可以添加更好的描述、链接等,请随意编辑):

  1. 抓取工具。这是通过网络、抓取页面并将有关页面的信息存储到某个中央数据存储中的部分。除了文本本身之外,您还需要诸如访问它的时间等信息。爬虫需要足够聪明,知道访问某些域的频率,遵守 robots.txt 约定等。

  2. 解析器。这会读取爬虫获取的数据,解析它,保存所需的任何元数据,丢弃垃圾,并可能向爬虫提出下次要获取的内容的建议。

  3. 索引器。读取解析器解析的内容,并为网页上找到的术语创建倒排索引。它可以像您希望的那样智能——应用 NLP 技术来创建概念索引、交叉链接事物、插入同义词等。

  4. 排名引擎。给定几千个匹配“apple”的 URL,您如何确定哪个结果是最好的?只是索引不会为您提供该信息。您需要分析文本、链接结构以及您想要查看的任何其他部分,并创建一些分数。这可能完全是即时完成的(这真的很难),或者基于“专家”的一些预先计算的概念(参见 PageRank 等)。

  5. 前端。某些东西需要接收用户查询、命中中央引擎并做出响应;这需要智能地缓存结果,可能会混合其他来源的结果等。它有自己的一系列问题。

我的建议——选择您最感兴趣的一个,下载 Lucene 或 Xapian 或任何其他开源项目,找出执行上述任务之一的部分,然后尝试替换它。希望有更好的东西:-)。

一些可能有用的链接: "Agile web-crawler" ,来自爱沙尼亚的一篇论文(英文) Sphinx Search engine ,一个索引和搜索 API。专为大型数据库而设计,但模块化且开放。 "Information Retrieval ,Manning 等人的一本关于 IR 的教科书。很好地概述了索引的构建方式、出现的各种问题以及爬行的一些讨论等。免费在线版本(目前)!

关于search - 构建网络搜索引擎,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/112248/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com