简单垂直搜索引擎入门(java+Lucene)

本文介绍了垂直搜索引擎的基本概念,详细讲解了开源信息检索库Lucene,并概述了搜索引擎的工作原理,特别是倒排索引的角色。接着,文章提到了环境配置,包括Java和Lucene的版本选择以及在Eclipse中的集成。最后,文章提供了具体代码示例,展示如何使用Lucene对文本数据进行索引和搜索。
摘要由CSDN通过智能技术生成

一、垂直搜索引擎介绍

垂直搜索引擎是搜索引擎的一种,是搜索引擎的细分和延伸,可以简单地理解为在某个领域的搜索引擎,例如在你的所有文档中搜索相关内容,在你的项目文件中搜索带有“test”字眼的文档。

二、Lucene介绍

Lucene是一款开源的,高性能,可扩展的信息检索工具库;是一个Java实现的jar包用来管理搜索引擎索引库。可以从Lucene官网下载最新版本的Lucene,本文采用的是旧版Lucene,4.6版本,在CSDN上有大神提供这个版本的下载

三、搜索引擎原理

一个完整的搜索引擎例如Google,百度等等,首先要做的事情是信息获取,所谓信息获取,对于他们来说就是利用爬虫技术将网络上的大部分内容爬取下来,至于爬虫如何爬取网络,如何避免网站重复爬取等等问题,这里就不细讲了;当我们在用一个搜索引擎时,它能够在极端的时间内查询到你所需要的信息并排好序发送给用户,在这么短的时间内,在一个庞大的数据库中搜索内容可想而知有多么困难,而搜索引擎之所以能够如此快速地查询关键在于数据库的索引。

网络爬虫将爬取的内容分解、分析,并以巨大的表格形式存入数据库,这个过程就是建立索引的过程;搜索引擎的核心数据结构为倒排索引(Inverted index),倒排索引是相对于正向索引来说的,首先用正向索引来存储每个文档对应的单词列表,然后再建立倒排索引,根据单词来索引文档编号。

用户在输入需要的搜索的内容后,搜索引擎首先要对搜索内容进行分词,然后进行去除停用词等操作,然后再进行搜索,从索引数据库中找出所有包含搜索词的内容。最后一步工作,就是对所有搜索得到的内容进行排序,排序的方法就有些复杂很有意思了,这里暂时不讲,这篇文章实现了建立倒排索引与返回未排序搜索结果。

搜索引擎原理:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值