热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

分布式搜索(elasticsearch)

一、初始elasticsearch1、了解ES(1)什么是elasticsearch?一个开源的分布式搜索引擎,可以用

一、初始elasticsearch

1、了解ES
(1)什么是elasticsearch?
  一个开源的分布式搜索引擎,可以用来实现搜索日志统计分析系统监控等功能。
  
(2)什么是elastic stack(ELK)?
  是以elasticsearch为核心的技术栈,包括beats、Logstash、kibana、elasticsearch。
beats、Logstash:数据收集
kibana:图形展示
elasticsearch:数据存储、搜索的核心功能

(3)什么是Lucene?
  是Apache的开源搜索引擎类库,提供了搜索引擎的核心API。
elasticsearch采用倒排索引:
文档(document):每条数据就是一个文档
词条(term):文档按照语义分成的词语(词条不能重复)
2、倒排索引
正向索引和倒排索引

正向索引:根据文档找词条
倒排索引:根据词条找文档,更擅长于基于文档的部分内容进行搜索。
在这里插入图片描述

3、es的一些概念
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4、安装es、kibana
5、分词器
默认分词器:standard
中文分词器:chinese

中文分词推荐使用IK分词器:https://github.com/medcl/elasticsearch-analysis-ik/release
ik_smartik_max_word
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


二、索引库操作

1、mapping映射属性
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
2、索引库的CRUD
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


三、文档操作

1、新增文档
在这里插入图片描述

2、查询文档
在这里插入图片描述

3、删除文档
在这里插入图片描述
4、修改文档
在这里插入图片描述
在这里插入图片描述


四、RestClient操作索引库

什么是RestClient?
  ES官方提供了各种不同语言的客户端,用来操作ES。这些客户端的本质就是组装DSL语句,通过http请求发送给ES。
官网地址:https://www.elastic.co/guide/en/elasticsearch/client/index.html
在这里插入图片描述
步骤一:导入课前资料
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
总结:
在这里插入图片描述


五、RestClient操作文档

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
批量操作
在这里插入图片描述
在这里插入图片描述
思考:
MySQL与Elasticsearch有什么差别呢?
Elasticsearch的文档操作API有什么样的规律?


六、DSL查询文档

官方文档:
https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl.html
1、DSL查询分类
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
2、全文检索查询
回对用户输入的内容分词,常用于搜索框搜索。
在这里插入图片描述
在这里插入图片描述
3、精准查询
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
4、地理坐标查询
在这里插入图片描述
在这里插入图片描述
5、组合查询
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
6、FunctionScoreQuery
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
7、BooleanQuery
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


七、搜索结果处理

1、排序
在这里插入图片描述
**注意:**指定排序字段后,打分机制会失效。

2、分页
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3、高亮
在这里插入图片描述
在这里插入图片描述


八、RestClient查询文档

private RestHighLevelClient client;

要构建查询条件,只要记住一个类:QueryBuilders
1、快速入门
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
2、match查询
在这里插入图片描述
3、精确查询
在这里插入图片描述
4、复合查询
在这里插入图片描述
5、排序、分页、高亮
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
本文图片来自视频学习过程中所截,主要用于个人复习,视频来源:https://www.bilibili.com/video/BV1LQ4y127n4


推荐阅读
  • 在ElasticStack日志监控系统中,Logstash编码插件自5.0版本起进行了重大改进。插件被独立拆分为gem包,每个插件可以单独进行更新和维护,无需依赖Logstash的整体升级。这不仅提高了系统的灵活性和可维护性,还简化了插件的管理和部署过程。本文将详细介绍这些编码插件的功能、配置方法,并通过实际生产环境中的应用案例,展示其在日志处理和监控中的高效性和可靠性。 ... [详细]
  • 从0到1搭建大数据平台
    从0到1搭建大数据平台 ... [详细]
  • 命令模式是一种行为设计模式,它将请求封装成一个独立的对象,从而允许你参数化不同的请求、队列请求或者记录请求日志。本文将详细介绍命令模式的基本概念、组件及其在实际场景中的应用。 ... [详细]
  • 秒建一个后台管理系统?用这5个开源免费的Java项目就够了
    秒建一个后台管理系统?用这5个开源免费的Java项目就够了 ... [详细]
  • PTArchiver工作原理详解与应用分析
    PTArchiver工作原理及其应用分析本文详细解析了PTArchiver的工作机制,探讨了其在数据归档和管理中的应用。PTArchiver通过高效的压缩算法和灵活的存储策略,实现了对大规模数据的高效管理和长期保存。文章还介绍了其在企业级数据备份、历史数据迁移等场景中的实际应用案例,为用户提供了实用的操作建议和技术支持。 ... [详细]
  • 本文深入解析了通过JDBC实现ActiveMQ消息持久化的机制。JDBC能够将消息可靠地存储在多种关系型数据库中,如MySQL、SQL Server、Oracle和DB2等。采用JDBC持久化方式时,数据库会自动生成三个关键表:`activemq_msgs`、`activemq_lock`和`activemq_ACKS`,分别用于存储消息数据、锁定信息和确认状态。这种机制不仅提高了消息的可靠性,还增强了系统的可扩展性和容错能力。 ... [详细]
  • 本文介绍了如何在 macOS 上安装 HL-340 USB 转串口驱动,并提供了详细的步骤和注意事项。包括下载驱动、关闭系统完整性保护、安装驱动以及验证安装的方法。 ... [详细]
  • Scrum立会报告+燃尽图(十月十七日总第八次):分配Alpha阶段任务
    此作业要求参见:https:edu.cnblogs.comcampusnenu2018fallhomework2246项目地址:https:git.co ... [详细]
  • 基于Web的Kafka管理工具Kafkamanager首次访问Web界面的详细配置指南(附图解)
    首次访问Kafkamanager Web界面时,需要对Kafka集群进行配置。这一过程相对简单,用户只需依次点击【Cluster】>【Add Cluster】,按照提示完成相关设置即可。本文将通过图文并茂的方式,详细介绍每一步的配置步骤,帮助用户快速上手Kafkamanager。 ... [详细]
  • 利用REM实现移动端布局的高效适配技巧
    在移动设备上实现高效布局适配时,使用rem单位已成为一种流行且有效的技术。本文将分享过去一年中使用rem进行布局适配的经验和心得。rem作为一种相对单位,能够根据根元素的字体大小动态调整,从而确保不同屏幕尺寸下的布局一致性。通过合理设置根元素的字体大小,开发者可以轻松实现响应式设计,提高用户体验。此外,文章还将探讨一些常见的问题和解决方案,帮助开发者更好地掌握这一技术。 ... [详细]
  • 技术分享:使用 Flask、AngularJS 和 Jinja2 构建高效前后端交互系统
    技术分享:使用 Flask、AngularJS 和 Jinja2 构建高效前后端交互系统 ... [详细]
  • 如何使用 `org.apache.tomcat.websocket.server.WsServerContainer.findMapping()` 方法及其代码示例解析 ... [详细]
  • 本文介绍了如何利用Struts1框架构建一个简易的四则运算计算器。通过采用DispatchAction来处理不同类型的计算请求,并使用动态Form来优化开发流程,确保代码的简洁性和可维护性。同时,系统提供了用户友好的错误提示,以增强用户体验。 ... [详细]
  • FreeBSD环境下PHP GD库安装问题的详细解决方案
    在 FreeBSD 环境下,安装 PHP GD 库时可能会遇到一些常见的问题。本文详细介绍了从配置到编译的完整步骤,包括解决依赖关系、配置选项以及常见错误的处理方法。通过这些详细的指导,开发者可以顺利地在 FreeBSD 上完成 PHP GD 库的安装,确保其正常运行。此外,本文还提供了一些优化建议,帮助提高安装过程的效率和稳定性。 ... [详细]
  • 在本地环境中部署了两个不同版本的 Flink 集群,分别为 1.9.1 和 1.9.2。近期在尝试启动 1.9.1 版本的 Flink 任务时,遇到了 TaskExecutor 启动失败的问题。尽管 TaskManager 日志显示正常,但任务仍无法成功启动。经过详细分析,发现该问题是由 Kafka 版本不兼容引起的。通过调整 Kafka 客户端配置并升级相关依赖,最终成功解决了这一故障。 ... [详细]
author-avatar
文voci_820
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有