
ElasticSearch
文章平均质量分 88
程序员小强
大家好我是程序员小强,相互学习,共同进步
展开
-
IK分词器新增词库使历史数据生效
背景IK作为常用的ES中文分词插件。但是在IK新增热词后,不会去更新历史数据,只有后续新增的数据才生效。那么问题来了?如何对历史数据进行更新呢?解决方案官方提供根据查询更新update_by_queryPOST test_index/_update_by_query?conflicts=proceed格式:test_index 索引名注:此命令会更新索引下所有数据,默认按照1000一个批次处理,如下图1773条数据需要2个批次。实现原理简析当发起更新请求时,会按照批次拉取数据并原创 2021-01-06 17:52:22 · 7186 阅读 · 3 评论 -
ElasticSearch之IK中文分词
1.中文分词背景中文分词的难点是,不能简单的按照一个个的字分隔,需要根据不一样的上下文,切分,不像英文有空格做分隔。例如:中华人民共和国国歌先只有默认的分词器看下效果GET _analyze{ "analyzer": "standard", "text": "中华人民共和国国歌"}从下图中可以看出,完全是按照一个汉字,一个个的分词的,效果差强人意2.安装IK中文分词器ik分词是一款流行的elasticsearch 中文分词器,安装ik分词器版本一定要与所安装es版本一致。官方原创 2021-01-06 17:44:47 · 6487 阅读 · 0 评论 -
SpringBoot-starter-data整合Elasticsearch
1.前言本文主要讲解,springBoot 使用spring-boot-starter-data-elasticsearch方式整合Elasticsearch文末附源码什么是Spring Data ElasticSearch Spring Data ElasticSearch 基于 spring data API 简化 elasticSearch操作,将原始操作elasticSearch的客户端API进行封装 。Spring Data为Elasticsearch项目提供集成搜索引擎。Spring原创 2021-01-05 16:21:02 · 35775 阅读 · 7 评论 -
SpringBoot整合Elasticsearch(官方client)
本文主要讲述了 Spring Boot 如何集成 ElasticSearch 搜索引擎,并使用 ElasticSearch 官方推荐的 Java High Level REST Client Java 客户端操作文末附源码地址1.开发环境java 8springboot版本:2.3.0.RELEASEelasticSearch版本: 7.4.0elasticsearch-rest-client :7.4.0elasticsearch-rest-high-level-client:7.4.0原创 2021-01-05 16:11:42 · 8611 阅读 · 0 评论 -
Elasticsearch插件之分词器
程序员小强总结的 ElasticSearch专题超全总结篇在这里:传送门结合官网资料,做了更详细的实际使用总结。从单机版安装到集群高可用生产环境搭建、基本概念(索引,分片,节点,倒排索引…)、DSL语法实践、分词器(内置+中文)、SpringBoot整合实战、仿京东商品搜索实战实现。1.前言正所谓“分词器用的好,查询没烦恼”, Elasticsearch会对text类型的参数会进行分词。本文主要讲解分词器,包括内置分词器以及热门IK中文分词器的安装与使用分词是什么?分词是把全文本转换成一系列单词原创 2021-01-04 14:56:11 · 6485 阅读 · 0 评论 -
Elasticsearch7.x SQL语法查询支持
Elasticsearch7.x SQL语法查询支持1.前言原生的DSL语法毕竟有熟悉成本, 而且还容易写错 ?其实 Elasticsearch 也是支持SQL查询,基本的SQL都支持,同时还具有SQL转DSL语句的功能。官方Api文档:传送门1.1.初始测试数据PUT /book_info/_bulk{ "index" : { "_id" : "101" } }{ "name" : "hello","author":"tom","release_date":"2020-01-26","p原创 2021-01-03 16:24:32 · 9485 阅读 · 1 评论 -
Elasticsearch7.x DSL语法之聚合查询
1.前言聚合查询是开发中常见的场景,一般包含。求和、最大值、最小值、平均值、总记录数等。注意事项:text类型是不支持聚合的。1.1.初始测试数据学习SQL中常用的案例,老师信息表字段信息:name(姓名) | age(年龄) | job(工作岗位) | sex(性别1-男,2-女) | salary(薪资)#老师信息#注:每个岗位都是神圣的,以下测试数据,纯属虚构,仅测试需要PUT /teacher_info/_bulk{ "index" : { "_id" : "101" } }{原创 2020-12-28 16:02:57 · 8951 阅读 · 0 评论 -
Elasticsearch7.x DSL语法之分页查询
1.简单分页对于非深度分页,简单查询时,一般使用from和size进行分页查询“from”: 分页起始位置“size”: 每页数据大小1.1写法GET /student_info/_search{ "query": { "match_all": {} }, "from": 1, "size": 2}常见问题:深分页问题,效率会很低,尽量避免深分页。1.2深度分页问题ES对于from+size的个数也是有限制的,默认限制二者之和不能超过1w。超过后会报错,使原创 2020-12-28 16:02:19 · 8290 阅读 · 0 评论 -
Elasticsearch7.x DSL语法之查询
1.前言条件语句match_all 查所有match 匹配查询bool联合查询term 词条精确查询range 范围查询主要约束条件参数must 多条件时必须都满足-相当于MySQL条件中的 ANDmust_not 必须不匹配这些条件才可以should 相当于MySQL条件中的 ORfilter 过滤条件-必须匹配初始化测试数据复杂查询之前,使用批量新增的方式,先初始化一些数据索引(index):student_info字段属性信息student_no(学号),原创 2020-12-28 16:01:35 · 7693 阅读 · 1 评论 -
Elasticsearch7.x DSL语法之文档管理
1.新增文档语法:公式POST /索引库名/_doc(/手动添加的id){ "key":"value"}这里是有 post或者put都可以区别在于put文档必须要指定文档_id;post可指定,可不指定,不指定则会随机生成一个_id关于映射Mapping若没有提前设定索引中字段类型而直接添加文档,es会对字段数据给自动数据类型,新字段会永久补充到mapping。若添加的数据字段数量大于提前设定索引中字段数量,可成功,按情况1处理。若添加的数据字段数量小于提前设定索引中字原创 2020-12-28 16:00:19 · 6346 阅读 · 0 评论 -
Elasticsearch7.x DSL语法之索引管理
1.查看索引#查看所有索引GET /_cat/indices#查看指定索引文档总数GET movies/_count#查看所有索引文档总数GET _all/_count#查看单个索引分片信息GET /_cat/shards/my_index?v2.创建索引2.1指定分片数量2个分片,2个副本#创建索引(并且指定分片数量)PUT my_index1{ "settings": { "number_of_shards": 2, "number_of_rep原创 2020-12-28 15:58:46 · 7135 阅读 · 0 评论 -
Elasticsearch7.x DSL语法实践手册
Elasticsearch7.x DSL语法实践手册1.数据类型介绍Text:字符串类型, 可分词,不可参与聚合Keyword:不可分词,数据会作为完整字段进行匹配,可以参与聚合Date:日期类型,通常配合format使用 比如{“type”:”date”,”format”:”yyyy-MM-dd”}Long,integer,short…BooleanArray:数组类型Object:一般是jsonIp:ip地址geo_point:地理位置 {“lat”:“lon”:}2.CURL原创 2020-12-28 15:57:20 · 6582 阅读 · 0 评论 -
ElasticSearch7.x安全性之访问密码设置
1.前言当我们安装完ElasticSearch的时候发现,访问过程中我们没有任何安全认证就可以直接访问并操作。如果是生产环境,端口向外暴露的话,那么对数据的安全性是无法得到保障的。一般解决方案有开启ElasticSearch认证插件,访问的时候添加账密不就好了当然也可以通过nginx作代理防护本文主要讲解通过启用X-Pack来设置ElasticSearch的访问密码。集群与单据环境都适合次方法集群与单据环境配置的区别就是,集群需要在某一台生成证书然后拷贝到其它节点目录下。集群环境重设原创 2020-12-21 21:07:01 · 14571 阅读 · 3 评论 -
Elasticsearch客户端工具之ES-Head
一.简介Elasticsearch-Head是比较常用的Elasticsearch老牌客户端工具之一。ElasticSearch7.x单机版安装ElasticSearch7.x高可用集群版搭建1.下载安装包Github地址:传送门这里下载release 版本wget https://github.com/mobz/elasticsearch-head/archive/v5.0.0.tar.gz2.安装Node需要依赖Node环境解压下载的es-head插件,cd到解压目录,下载n原创 2020-12-21 20:58:42 · 7862 阅读 · 0 评论 -
Elasticsearch客户端工具之kibana
1.简介Kibana 是用于Elasticsearch设计的开源分析和可视化平台。可以使用 Kibana 来搜索。查看存储在 Elasticsearch 索引中的数据并与之交互。可以实现高级的数据分析和可视化,以图表的形式展现出来。使用前我们肯定需要先有Elasticsearch。ElasticSearch7.x单机版安装ElasticSearch7.x高可用集群版搭建本文主要介绍Kibana的安装、常见可视化等操作,以及Elasticsearch控制台可以非常方便的来调用es的原创 2020-12-21 20:53:55 · 6896 阅读 · 0 评论 -
Elasticsearch 7x 配置文件详解
在前面的文章中对Es的搭建做了详细讲解,本文主要讲解7x版本的配置文件内容。1.配置文件(elasticsearch.yml)#ES集群名称,同一个集群内的所有节点集群名称必须保持一致cluster.name: ES-Cluster#ES集群内的节点名称,同一个集群内的节点名称要具备唯一性node.name: ES-master-01#允许节点是否可以成为一个master节点,ES是默认集群中的第一台机器成为master,如果这台机器停止就会重新选举node.master: true原创 2020-12-21 20:45:52 · 9581 阅读 · 0 评论 -
ElasticSearch7.x高可用集群版搭建
1.前置准备若之前未了解过ElasticSearch的安装,在安装集群版之前,建议先了解一下单机版创建。集群版无非就是拷贝了几套单机版的安装包,配置稍加改。单机版安装详细教程以及安装过程容易遇到的问题详见:ElasticSearch单机版安装集群环境准备IP监听端口主机名系统es实例名称es版本192.168.3.219201/9301elasticCentOS 7node-a7.4.0192.168.3.229201/9301elasticCen原创 2020-12-13 16:36:03 · 9663 阅读 · 1 评论 -
ElasticSearch7.x单机版安装
1.前置准备相关文档:官网:传送门 官网文档:传送门 中文手册:传送门 中文社区:传送门 Jave-Client : 传送门2.下载安装包官方下载地址:传送门历史版本下载:传送门本文以7.4.0为例: 7.4.0下载地址命令下载wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.4.0-linux-x86_64.tar.gz3.解压#解压到自定义目录tar -原创 2020-12-13 16:29:41 · 7901 阅读 · 2 评论 -
ElasticSearch基本概念
1.简介Elasticsearch是一个基于Lucene的搜索服务器。提供了一个分布式多用户能力的全文搜索引擎基于Restful web接口。Java语言开发的Elasticsearch的功能分布式的文档存储引擎分布式的搜索引擎和分析引擎分布式,支持PB级数据全文检索,结构化检索,数据分析对海量数据进行近实时的处理相关网站:官网:传送门官网文档:传送门中文手册:传送门中文社区:传送门Jave-Client : 传送门2.索引(Index)索引是文档(Docume原创 2020-12-12 21:52:57 · 6130 阅读 · 0 评论 -
ElasticSearch专题全总结篇
ElasticSearch专题总结内容来了,使用的版本是7.x 。从单机版安装到集群高可用生产环境搭建,以及DSL语法详细使用介绍,SpringBoot整合。大致预告内容如下,陆续更新中 …ElasticSearch基本概念(索引,分片,节点,倒排索引…)ElasticSearch7.x单机版安装ElasticSearch7.x高可用集群版搭建Elasticsearch 7x 配置文件详解Elasticsearch客户端工具之kibanaElasticsearch客户端工具之ES-Head原创 2020-12-12 21:44:11 · 8258 阅读 · 0 评论