什么是ElasticSearch

文章目录

  • 什么是ElasticSearch
  • 什么是全文检索
  • 全文检索的应用场景
  • 索引和搜索流程图
  • 用Postman进行Restful接口访问

Elaticsearch,简称为es, es是一个开源的高扩展的分布式全文检索引擎,它可以近乎实时的存储、检索数据;本身扩展性很好,可以扩展到上百台服务器,处理PB级别的数据。es也使用Java开发并使用Lucene作为其核心来实现所有索引和搜索的功能,但是它的目的是通过简单的 RESTful API来隐藏Lucene的复杂性,从而让全文搜索变得简单。

什么是全文检索

我们生活中有两种数据
①结构化数据,这类数据通常有一定的格式,长度,例如MySQL ,Oracle等关系型数据库
②非结构化数据,这类数据通常没有固定的格式,也没有特定的长度,如word 文档,文章等。

什么是全文检索
将非结构化数据中的一部分信息提取出来,重新组织,使其变得有一定结构,然后对此有一定结构的数据进行搜索,从而达到搜索相对较快的目的。这部分从非结构化数据中提取出的然后重新组织的信息,我们称之索引。

例如:字典。字典的拼音表和部首检字表就相当于字典的索引,对每一个字的解释是非结构化的,如果字典没有音节表和部首检字表,在茫茫辞海中找一个字只能顺序扫描。然而字的某些信息可以提取出来进行结构化处理,比如读音,就比较结构化,分声母和韵母,于是将读音拿出来按一定的顺序排列,每一项读音都指向此字的详细解释的页数。我们搜索时按结构化的拼音搜到读音,然后按其指向的页数,便可找到我们的非结构化数据——也即对字的解释。

这种先建立索引,再对索引进行搜索的过程就叫全文检索

虽然创建索引的过程也是非常耗时的,但是索引一旦创建就可以多次使用,全文检索主要处理的是查询,所以耗时间创建索引是值得的。

全文检索的应用场景

对于数据量大、数据结构不固定的数据可采用全文检索方式搜索
一些大型的电商平台,搜索引擎 如百度 谷歌

索引和搜索流程图


①获得原始文档内容
②创建文档对象
③利用分词器分析文档
④创建索引并放进索引库
⑤用户查询接口创建查询,执行查询,到索引库查询索引,并返回结果,渲染结果并返回给用户

用Postman进行Restful接口访问

1 ElasticSearch的接口语法

2 操作索引index

1.先创建索引后设置Mapping

2. 删除索引index

3. 创建文档document

4.修改文档document

5.查询文档-根据id查询

6.查询文档-querystring查询

7.查询文档-term查询

8.关键字搜索数据

9.DSL 查询

10.高亮显示

11.聚合

12.指定响应字段

13.批量操作

14._bulk操作

15.分页

elasticsearch 一款高扩展性的分布式全文检索引擎相关推荐

  1. 如何构建高扩展性网站?

    本篇通过阅读<高扩展性网站的50条原则>,总结出以下内容. 一方面博主没有实际的架构经验,另一方面知识面也不够宽阔,所以只能系统的总结书中的要点,并根据自己的理解做些归纳. 主要内容 本书 ...

  2. aws s3仅允许cloudfront访问_初创公司如何用AWS搭建高扩展性架构

    ‍‍‍‍ 亚信云天的理解 • 初创公司需要快.多.好.省的技术架构 o 快:针对业务需要可以快速获得资源与服务 o 多:拥有丰富的云服务可供选择,能不自己做就不自己做 o 好:强调扩展性和高可用,既不 ...

  3. 【总结】初创公司用AWS搭建高扩展性架构

    下载地址:完整mp4视频 演讲人:张侠 博士 1. 邱洋的理解 初创公司需要快.多.好.省的技术架构 快:针对业务需要可以快速获得资源与服务 多:拥有丰富的云服务可供选择,能不自己做就不自己做 好:强 ...

  4. 如何构建和设计高扩展性系统

    主要内容 本书从多个方面围绕高扩展性提出了50条建议,一个高扩展性的网站会随着业务的发展.用户的增加,自由的扩展架构,从而轻松的应付网站的快速发展.下面看看本书的具体内容: 化简方程 1 不要过度的设 ...

  5. 高性能、高并发、高扩展性和可读性的网络服务器架构:StateThreads

    译文在后面:代码我放在GITHUB了:http://github.com/ossrs/state-threads. State Threads for Internet Applications In ...

  6. Fastsocket:高扩展性的 Socket 以及 Linux 内核的底层网络实现

    目录 简介 安装编译 测试结果 GitHub README 介绍 参加者 安装 从源安装 开关内核 系统配置 用法 合适的场景### 如何使用 演示服务器 评价 Nginx的 HAProxy 在线评估 ...

  7. 优秀开源项目之三:高性能、高并发、高扩展性和可读性的网络服务器架构State Threads...

    译文在后面. State Threads for Internet Applications Introduction State Threads is an application library ...

  8. elasticsearch(es)分布式全文检索引擎 简介

    0. 带着问题上路-ES是如何产生的? (1)思考:大规模数据如何检索? 如:当系统数据量上了10亿.100亿条的时候,我们在做系统架构的时候通常会从以下角度去考虑问题: 1)用什么数据库好?(MyS ...

  9. 甲骨文Andrew Mendelsohn:打造高扩展性和可用性的数据库云技术

    针对云服务大战环境,记得甲骨文公司创始人.董事长兼 CTO Larry Ellison 曾说过:现在云计算仍旧处于早期阶段,甲骨文已经做好准备,全力进军云计算领域.时隔不久,好消息就传来了.在 8 月 ...

最新文章

  1. RAC 修改 DB 实例名 步骤
  2. Dumpzilla工具第615行bug的解决办法
  3. mysql 1418 错误原因及解决
  4. hashmap原理_想要彻底搞懂HashMap?你得恶补下HashMap原理
  5. hdu 4714 树+DFS
  6. PS教程第三课:PS界面
  7. my stackoverflow
  8. 【分享】心理测试---家庭画像
  9. 浅谈C#深拷贝,浅拷贝
  10. 西子奥的斯服务器显示dlf,OTIS奥的斯XIOTIS西子奥的斯E311故障查询和故障代码(全).pdf...
  11. MATLAB绘图—三维等值线绘图(contour3)
  12. win10快捷截图录屏
  13. win10滑动关机代码bat_IT之家学院:十秒学会Win10滑动关机教程 - IT之家
  14. 聪明的猴子(BZOJ 2429)
  15. Gitlab备份和恢复操作记录
  16. Dubbo 专题(基础篇):Dubbo 介绍、环境搭建与实践
  17. html添加靠左的图片,div 居左靠左布局 CSS居左靠左布局
  18. js 防抖是什么 JavaScript防抖怎么用
  19. opencv+python图像识别,麻将牌识别,实现自动打牌方案
  20. canvas 图像的平铺

热门文章

  1. websocket 心跳机制
  2. Linux 备忘录
  3. Android动画了解
  4. Oracle中游标Cursor基本用法详解
  5. 合宙引领“涨价”潮?CEO秦鹏首次公开真实原因
  6. 最好的PDF压缩:ImageGear PDF 26.0.NET
  7. 查看安卓(Android)设备处理器(CPU)架构(Architecture)信息
  8. java装修装饰公司订单管理系统ssm框架#java毕业设计
  9. 如何设置成为公网用户
  10. vfw_usg vdi vmware_VMware虚拟机安装ubuntu20(全过程演示)