什么是Elasticsearch
来源:互联网 发布:linux安装软件的方式 编辑:程序博客网 时间:2024/06/06 12:22
课程大纲
大白话、什么是Elasticsearch
Elasticsearch,分布式,高性能,高可用,可伸缩的搜索和分析系统
1、什么是搜索?
2、如果用数据库做搜索会怎么样?
3、什么是全文检索、倒排索引和Lucene?
4、什么是Elasticsearch?
------------------------------------------------------------------------------------------------------------------------
1、什么是搜索?
百度:我们比如说想找寻任何的信息的时候,就会上百度去搜索一下,比如说找一部自己喜欢的电影,或者说找一本喜欢的书,或者找一条感兴趣的新闻(提到搜索的第一印象)
百度 != 搜索,这是不对的
垂直搜索(站内搜索)
互联网的搜索:电商网站,招聘网站,新闻网站,各种app
IT系统的搜索:OA软件,办公自动化软件,会议管理,日程管理,项目管理,员工管理,搜索“张三”,“张三儿”,“张小三”;有个电商网站,卖家,后台管理系统,搜索“牙膏”,订单,“牙膏相关的订单”
搜索,就是在任何场景下,找寻你想要的信息,这个时候,会输入一段你要搜索的关键字,然后就期望找到这个关键字相关的有些信息
------------------------------------------------------------------------------------------------------------------------
2、如果用数据库做搜索会怎么样?
做软件开发的话,或者对IT、计算机有一定的了解的话,都知道,数据都是存储在数据库里面的,比如说电商网站的商品信息,招聘网站的职位信息,新闻网站的新闻信息,等等吧。所以说,很自然的一点,如果说从技术的角度去考虑,如何实现如说,电商网站内部的搜索功能的话,就可以考虑,去使用数据库去进行搜索。
1、比方说,每条记录的指定字段的文本,可能会很长,比如说“商品描述”字段的长度,有长达数千个,甚至数万个字符,这个时候,每次都要对每条记录的所有文本进行扫描,懒判断说,你包不包含我指定的这个关键词(比如说“牙膏”)
2、还不能将搜索词拆分开来,尽可能去搜索更多的符合你的期望的结果,比如输入“生化机”,就搜索不出来“生化危机”
用数据库来实现搜索,是不太靠谱的。通常来说,性能会很差的。
------------------------------------------------------------------------------------------------------------------------
3、什么是全文检索和Lucene?
(1)全文检索,倒排索引
(2)lucene,就是一个jar包,里面包含了封装好的各种建立倒排索引,以及进行搜索的代码,包括各种算法。我们就用java开发的时候,引入lucene jar,然后基于lucene的api进行去进行开发就可以了。用lucene,我们就可以去将已有的数据建立索引,lucene会在本地磁盘上面,给我们组织索引的数据结构。另外的话,我们也可以用lucene提供的一些功能和api来针对磁盘上额
------------------------------------------------------------------------------------------------------------------------
4、什么是Elasticsearch?
大白话、什么是Elasticsearch
Elasticsearch,分布式,高性能,高可用,可伸缩的搜索和分析系统
1、什么是搜索?
2、如果用数据库做搜索会怎么样?
3、什么是全文检索、倒排索引和Lucene?
4、什么是Elasticsearch?
------------------------------------------------------------------------------------------------------------------------
1、什么是搜索?
百度:我们比如说想找寻任何的信息的时候,就会上百度去搜索一下,比如说找一部自己喜欢的电影,或者说找一本喜欢的书,或者找一条感兴趣的新闻(提到搜索的第一印象)
百度 != 搜索,这是不对的
垂直搜索(站内搜索)
互联网的搜索:电商网站,招聘网站,新闻网站,各种app
IT系统的搜索:OA软件,办公自动化软件,会议管理,日程管理,项目管理,员工管理,搜索“张三”,“张三儿”,“张小三”;有个电商网站,卖家,后台管理系统,搜索“牙膏”,订单,“牙膏相关的订单”
搜索,就是在任何场景下,找寻你想要的信息,这个时候,会输入一段你要搜索的关键字,然后就期望找到这个关键字相关的有些信息
------------------------------------------------------------------------------------------------------------------------
2、如果用数据库做搜索会怎么样?
做软件开发的话,或者对IT、计算机有一定的了解的话,都知道,数据都是存储在数据库里面的,比如说电商网站的商品信息,招聘网站的职位信息,新闻网站的新闻信息,等等吧。所以说,很自然的一点,如果说从技术的角度去考虑,如何实现如说,电商网站内部的搜索功能的话,就可以考虑,去使用数据库去进行搜索。
1、比方说,每条记录的指定字段的文本,可能会很长,比如说“商品描述”字段的长度,有长达数千个,甚至数万个字符,这个时候,每次都要对每条记录的所有文本进行扫描,懒判断说,你包不包含我指定的这个关键词(比如说“牙膏”)
2、还不能将搜索词拆分开来,尽可能去搜索更多的符合你的期望的结果,比如输入“生化机”,就搜索不出来“生化危机”
用数据库来实现搜索,是不太靠谱的。通常来说,性能会很差的。
------------------------------------------------------------------------------------------------------------------------
3、什么是全文检索和Lucene?
(1)全文检索,倒排索引
(2)lucene,就是一个jar包,里面包含了封装好的各种建立倒排索引,以及进行搜索的代码,包括各种算法。我们就用java开发的时候,引入lucene jar,然后基于lucene的api进行去进行开发就可以了。用lucene,我们就可以去将已有的数据建立索引,lucene会在本地磁盘上面,给我们组织索引的数据结构。另外的话,我们也可以用lucene提供的一些功能和api来针对磁盘上额
------------------------------------------------------------------------------------------------------------------------
4、什么是Elasticsearch?
(1)图解分析
阅读全文
0 0
- 什么是Elasticsearch
- 什么是Elasticsearch?
- 什么是Elasticsearch
- 什么是Elasticsearch
- 什么是Elasticsearch
- 01_什么是Elasticsearch
- elasticsearch系列-什么是Mapping
- ElasticSearch什么是文档?索引一个文档
- Elasticsearch概述、ES概念、什么是搜索、全文检索、Elasticsearch功能(来自网络+学习资料)
- ElasticSearch
- Elasticsearch
- Elasticsearch
- ElasticSearch
- elasticSearch
- elasticsearch
- Elasticsearch
- ELasticsearch
- Elasticsearch
- IDEA之常用模板设置
- LeetCode172. Factorial Trailing Zeroes
- 文本两端对齐
- 重写equal和hashCode方法,用集合去重对象
- AES密钥与RSA密钥
- 什么是Elasticsearch
- 兄弟连学python 》》》HTML表格
- 关于Java中类和对象的学习笔记
- bzoj 3738: [Ontak2013]Kapitał
- CMake入门使用(一)安装及HelloWorld的构建
- lintcode&九章算法——Lintcode No.96. 链表划分 ? 待解决
- vue饿了么webapp之router-view传值(深坑!!)
- 比特币,门罗币,javascript矿机
- 浅述ios APP版本名称的国际化与本地化