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

搜索引擎知识介绍和相关框架
    什么是搜索:在海量信息中获取咱们想要的信息
    传统作法:
        一、文档中使用系统的Find查找
        二、mysql中使用like模糊查询
    问题:
        一、海量数据中不能及时响应,少许数据能够经过传统的MySql创建索引解决
        二、一些无用词不能进行过滤,无法分词
        三、数据量大的话难以拓展
        四、相同的数据难以进行类似度最高的进行排序
    搜索引擎:
        一、存储非结构化的数据
        二、快速检索和响应咱们须要的信息,快-准
        三、进行相关性的排序,过滤等
        四、能够去掉停用词(没有特殊含义的词,好比英文的a,is等,中文: 这,的,是等),框架通常支持能够自定义停用词
java

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

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


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

 

elasticSearch主要特色服务器

        一、特色:全文检索,结构化检索,数据统计、分析,接近实时处理,分布式搜索(可部署数百台服务器),处理PB级别的数据
            搜索纠错,自动完成
        二、使用场景:日志搜索,数据聚合,数据监控,报表统计分析
        
        三、国内外使用者:维基百科,Stack Overflow,GitHub
架构

相关文章
相关标签/搜索