【ElasticSearch从入门到精通】搜索引擎之elasticsearch

目录

1.你了解搜索引擎吗

数据的分类:

1.顺序扫描法

2.全文搜索

2.全文搜索引擎的工作原理

3.为什么要用搜索引擎

1.数据类型

2.搜索性能

3.灵活搜索

4.索引的维护

4.全文索引引擎的应用场景

5.常见搜索引擎

1.Lucene

2.Solr

3.ElasticSearch


1.你了解搜索引擎吗

常用得搜索引擎:谷歌、百度

数据的分类:

结构化的数据:具有固定格式或长度的数据。

非结构化数据:全文数据,不定长或无固定格式的数据。

对于非结构化数据(全文数据)的搜索主要方法:顺序扫描法、全文搜索法

1.顺序扫描法

按照顺序扫描的方式查找特定的关键词

效率低下

2.全文搜索

对非结构化数据的信息进行提取,重新组织成为有一定结构的数据后进行搜索,从而达到搜索相对较快的要求。

从非结构化数据中提取并从新组织的信息,称之为索引

2.全文搜索引擎的工作原理

计算机索引程序通过扫描文章中的每一个词,对每一个词建立一个索引,指明该词在文章中出现的次数和位置,当用户查询时,检索程序就会根据事先建立的索引进行查找,并将查找的结果反馈给用户。

3.为什么要用搜索引擎

1.数据类型

全文搜索支持非结构化数据的搜索,可以更好的快速搜索大量存在的任何单词。

2.搜索性能

当数据量达到千万级别的时候,或者含有like等搜索条件的时候,mysql不会走索引,性能会变差。

3.灵活搜索

不必要求用户一定输入正确才能进行查询,当用户输入一些关键字的时候可以给出相应的提示并进行查出。

4.索引的维护

一般传统数据库对于全文搜索,很难去实现,需要扫描整个表,即使有索引,在insert和update操作的时候都会重新构建索引,维护很麻烦。

4.全文索引引擎的应用场景

  • 被搜索的数据对象大多是非结构化文本数据。
  • 文本数据量达到数十万或百万。
  • 支持大量基于交互式文本查询。
  • 需求非常灵活的全文搜索查询。
  • 对安全事务,非文本数据操作的需求相对较少的情况。

5.常见搜索引擎

1.Lucene

Lucene是一个java全文搜索引擎,完全用Java编写。是一个代码库和API,通过简单的API提供强大的功能。

2.Solr

Solr是基于Lucene的Java库的开源搜索平台。可以提供分布式索引、复制、负载均衡查询以及自动故障转移和恢复。

具有很多强大的功能:全文搜索、突出、分面搜索、实时索引、数据库集成

3.ElasticSearch

ElasticSearch是一个开源,基于Apache Lucene库构建的Restful搜索引擎。

它提供了一个分布式、多租户能力的全文搜索引擎,具有HTTP Web界面和无架构JSON文档。

主要功能:分布式搜索、数据分析、分组和聚合

应用场景:维基百科、GitHub、电商网站、日志数据分析、站内搜索

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值