
全部展开
去年,我为培训制作了一个简单的搜索引擎,所以我可以简单地说一下框架.

搜索引擎分为三个块: 下载,索引和搜索.
下载:

这部分是您要搜索范围的原始数据. 如果搜索类别是网页上的内容,则它是网络爬网程序. 我在学校Intranet上使用搜索引擎,所以我编写了一个搜寻器,以从校园网的主页下载,分析网页中的链接并将符合要求的链接添加到要下载的队列中,以便所有校园网络上的网页已下载.
索引

搜索引擎之所以能够如此快速地进行搜索,是由于该索引. 索引是专门针对搜索优化的结构,详细信息可以是百度反向索引.
在上一次搜索中,下载了网页的全文. 不需要搜索其中的html标签,因此应清除数据以提取重要内容.
文本内容的预处理还需要分词和删除无意义的停用词. 什么是分词?您仍然是百度
使用现成的库LUCENE构建索引,该库带有多个默认标记器. 如果您希望搜索引擎的搜索结果7a64e59b9ee7ad9431333363383334更好,则可以使用中文标记器(当然,有现成的工具嘛,比如分词,NLPIR都是现有的解决方案,效果还不错). 以前没有接触过它,您需要学习它.
建立索引,下一步是搜索. 搜索基于查询词,在索引中搜索匹配的内容,然后显示. 如果有更多与查询词匹配的结果该怎么办?这涉及到排序,这有点复杂. 这涉及到许多排序算法,例如tfidf,但是这些lucene API也为您提供了帮助. 现在,它具有评分机制,可以将评分放在搜索结果的前面.
以上三点简单的搜索引擎,如果要扩展每个地方,可以写一本小书简单的搜索引擎,并根据学科选择学习.
如上所述,如果您只想实现小的文本检索功能,请从xxx等中选择*,这样可以满足您的需求.
本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/ruanjian/article-194228-1.html
去买房嘛