- 一 搜索引擎是什么
一套可对大量结构化、半结构化数据、非结构化文本类数据进行实时搜索的专门软件
最早应用于信息检索领域,经谷歌、百度等公司推出网页搜索而为大众广知。后又被各大电商网站采用来做网站的商品搜索。现广泛应用于各行业、互联网应用。是大型系统、网站架构师必备技能。 - 搜索引擎是用来解决什么问题的
专门解决大量结构化、半结构化数据、非结构化文本类数据的实时检索问题。 这种实时搜索数据库做不了。
- 搜索引擎适合什么场景使用?
大量结构化、半结构化、非结构化文本类数据的实时搜索
信息检索(如电子图书馆、电子档案馆)
网页搜索 内容提供网站的内容搜索(如 新闻、论坛、博客网站)
电子商务网站的商品搜索
如果你负责的系统数据量大,通过数据库检索慢,可以考虑用搜索引擎来专门负责检索。 -
搜索引擎由哪些核心部件构成?
数据源
分词器
反向索引(倒排索引)相关性计算模型
- 搜索引擎的工作原理是怎样的?
从数据源加载数据,分词、建立反向索引
搜索时,对搜索输入进行分词,查找反向索引
计算相关性,排序,输出
-
要实现一个搜索引擎,需要实现哪些?
1、分词器
2、反向索引,索引存储
3、相关性计算模型 - 要去使用一个搜索引擎,需要搞清楚它的哪些方面?
1、分词器
2、反向索引建立、存储、更新
3、相关性计算模型 - java领域应用广泛的开源搜索引擎组件、系统
Lucene:Apache*开源项目,Lucene-core是一个开放源代码的全文检索引擎工具包,但它不是一个完整的全文检索引擎,而是一个全文检索引擎的框架,提供了完整的查询引擎和索引引擎,部分文本分词引擎(英文与德文两种西方语言)。
Lucene的目的是为软件开发人员提供一个简单易用的工具包,以方便的在目标系统中实现全文检索的功能,或者是以此为基础建立起完整的全文检索引擎。
Nutch:Apache*开源项目,包含网络爬虫和搜索引擎(基于lucene)的系统(同百度、google)。Hadoop因它而生。
Solr:Lucene下的子项目,基于Lucene构建的独立的企业级开源搜索平台,一个服务。它提供了基于xml/JSON/http的api供外界访问,还有web管理界面。
Elasticsearch:基于Lucene的企业级分布式搜索平台,它对外提供restful-web接口,让程序员可以轻松、方便使用搜索平台,而不需要了解Lucene
相关文章
- 08-19Mybatis学习笔记--一对多关系的处理
- 08-19数据结构学习笔记(一丶基础知识及时间空间复杂度)
- 08-19Coursera吴恩达《神经网络与深度学习》第一周课程笔记-深度学习概论
- 08-19深度学习与人类语言处理学习笔记(一)—— 语音识别(理论篇)
- 08-19前端学习笔记系列一:12 js中获取时间new date()的用法
- 08-19Rust学习笔记#1:一个猜谜游戏小项目
- 08-19学习笔记——单片机简介 & 点亮LED & 流水灯 & 电路基础【更新Ing】
- 08-19【Unity学习笔记】TextMeshPro文档(一)
- 08-19Opencv-Python学习笔记(一)
- 08-19SVM学习笔记(一):libsvm参数说明(转)