您的位置:首页 > 其它

搜索引擎知识介绍和相关框架es,solr, Lucene

2018-08-26 22:09 411 查看
搜索引擎知识介绍和相关框架
什么是搜索:在海量信息中获取我们想要的信息
传统做法:
1、文档中使用系统的Find查找
2、mysql中使用like模糊查询
问题:
1、海量数据中不能及时响应,少量数据可以通过传统的MySql建立索引解决
2、一些无用词不能进行过滤,没法分词
3、数据量大的话难以拓展
4、相同的数据难以进行相似度最高的进行排序
搜索引擎:
1、存储非结构化的数据
2、快速检索和响应我们需要的信息,快-准
3、进行相关性的排序,过滤等
4、可以去掉停用词(没有特殊含义的词,比如英文的a,is等,中文: 这,的,是等),框架一般支持可以自定义停用词


常用框架:
1、Lucene
Apache下面的一个开源项目,高性能的、可扩展的工具库,提供搜索的基本架构;
如果开发人员需用使用的话,需用自己进行开发,成本比较大,但是性能高


2、solr
Solr基于Lucene的全文搜索框架,提供了比Lucene更为丰富的功能,
同时实现了可配置、可扩展并对查询性能进行了优化
建立索引时,搜索效率下降,实时索引搜索效率不高
数据量的增加,Solr的搜索效率会变得更低,适合小的搜索应用,对应java客户端的是solrj


3、elasticSearch
基于Lucene的搜索框架, 它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口
上手容易,拓展节点方便,可用于存储和检索海量数据,接近实时搜索,海量数据量增加,搜索响应性能几乎不受影响;
分布式搜索框架,自动发现节点,副本机制,保障可用性


elasticSearch主要特点

1、特点:全文检索,结构化检索,数据统计、分析,接近实时处理,分布式搜索(可部署数百台服务器),处理PB级别的数据
搜索纠错,自动完成
2、使用场景:日志搜索,数据聚合,数据监控,报表统计分析

3、国内外使用者:维基百科,Stack Overflow,GitHub
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Lucene Solr