ElasticSearch
文章平均质量分 59
张俊杰1994
平平淡淡的码农一个。
展开
-
ElasticSearch知识点汇总,以及踩坑
javaApi添加链接描述设置默认值ES must、filter、should一起使用,导致的should语句失效的问题ES中 minimum_should_match 的用法和误区原创 2023-06-29 11:24:33 · 99 阅读 · 0 评论 -
ElasticSearch hits.total.value超过1万就显示 10000 的问题处理
searchSourceBuilder.trackTotalHits(true); 设置一下即可原创 2023-06-27 22:54:54 · 328 阅读 · 0 评论 -
ElasticSearch 7.6.1安装包Logstash Kibana FileBeat ik分词器
ElasticSearch Logstash Kibana FileBeat ik分词器链接: https://pan.baidu.com/s/1_Iv2R8pmYaHkoaOk_m8OuQ 提取码: 5ezt原创 2022-02-14 19:45:55 · 888 阅读 · 2 评论 -
docker安装ElasticSearch的ik分词器
准备ik分词器准备ik分词器,注意ik分词器的版本必须要和ElasticSearch的版本一致,比如说ElasticSearch是7.6.1版本,那么你的ik分词器也必须是7.6.1版本自己自行下载,或者使用我百度网盘里面的链接:https://pan.baidu.com/s/1_Iv2R8pmYaHkoaOk_m8OuQ 提取码: 5ezt放到linux上准备一个放在 elasticsearch-analysis-ik-7.6.1.zip "/tmp/elasticsearch-.原创 2022-02-14 19:39:48 · 2831 阅读 · 0 评论 -
docker启动7.6.14ElasticSearch命令
docker启动7.6.14ElasticSearch命令docker run -e ES_JAVA_OPTS="-Xms256m -Xmx256m" -di --name=zjjElasticSearch -p9200:9200 -p9300:9300 -e “discovery.type=single-node” elasticsearch:7.6.1原创 2022-01-28 19:14:37 · 1354 阅读 · 1 评论 -
ElasticSearch的 geo point - 地理位置搜索和聚合分析
出自 图灵学院 ElasticSearch课程, 我自己学完了,整理了一下,然后给老师说的话,记录了一下,发了个博客概述ES支持地理位置的搜索和聚合分析,可实现在指定区域内搜索数据、搜索指定地点附近的数据、聚合分析指定地点附近的数据等操作。ES中如果使用地理位置搜索的话,必须提供一个特殊的字段类型。GEO - geo_point。地理位置的坐标点。1、定义geo point mapping如果需要使用地址坐标,则需要定义一个指定的mapping类型。具体如下:使用什么数据可以确定,地球上的一原创 2021-12-10 22:02:23 · 2576 阅读 · 1 评论 -
ElasticSearch的搜索建议功能suggest search(completion suggest)
出自 图灵学院 ElasticSearch课程, 我自己学完了,整理了一下,然后给老师说的话,记录了一下,发了个博客概述suggest search(completion suggest):就是建议搜索或称为搜索建议,也可以叫做自动完成-auto completion。类似百度中的搜索联想提示功能。ES实现suggest的时候,性能非常高,其构建的不是倒排索引,也不是正排索引,就是纯的用于进行前缀搜索的一种特殊的数据结构,而且会全部放在内存中,所以suggest search进行的前缀搜索提示原创 2021-12-10 21:22:37 · 3122 阅读 · 0 评论 -
ElasticSearch的 search template搜索模板
出自 图灵学院 ElasticSearch课程, 我自己学完了,整理了一下,然后给老师说的话,记录了一下,发了个博客概述搜索模板,search template,高级功能,就可以将我们的一些搜索进行模板化,然后的话,每次执行这个搜索,就直接调用模板,给传入一些参数就可以了search template就类似MySQL的存储过程和存储函数MySQL的存储过程和存储函数就直接放到MySQL里面的,执行效率比较高,比较复杂的逻辑可以直接封装好,然后程序员直接快速的调用就可以了.searc原创 2021-12-10 21:21:39 · 1301 阅读 · 0 评论 -
Java代码入门操作ElasticSearch
内容参考自 图灵学院 ElasticSearch专栏项目地址:直接参考码云地址: https://gitee.com/zjj19941/ZJJ_ElasticSearch.git直接看 com.baiqi.elasticsearch.service.JobFullTextServiceTest 测试类pom依赖<dependency> <groupId>org.elasticsearch</groupId> <artifactId>原创 2021-12-06 12:55:12 · 234 阅读 · 0 评论 -
ElasticSearch的sql语法说明和简单使用
出自 图灵学院 ElasticSearch课程我自己学完了,然后给老师的代码和讲义自己练习了一遍,然后整理了一下,做了个笔记概述Elasticsearch SQL允许执行类SQL的查询,可以使用REST接口、命令行或者是JDBC,都可以使用SQL来进行数据的检索和数据的聚合。Elasticsearch SQL特点:本地集成Elasticsearch SQL是专门为Elasticsearch构建的。每个SQL查询都根据底层存储对相关节点有效执行。没有额外的要求不依赖其他的硬件、进程、运原创 2021-12-05 15:44:15 · 4274 阅读 · 0 评论 -
ElasticSearch两种分页查询
在存在大量数据时,一般我们进行查询都需要进行分页查询。例如:我们指定页码、并指定每页显示多少条数据,然后Elasticsearch返回对应页码的数据。1、使用from和size来进行分页在执行查询时,可以指定from(从第几条数据开始查起)和size(每页返回多少条)数据,就可以轻松完成分页。l from = (page – 1) * sizePOST /es_db/_doc/_search{ "from": 0, "size": 2, "query": { "match"原创 2021-12-05 14:40:12 · 973 阅读 · 0 评论 -
ElasticSearch文件系统的路径字段设置和搜索问题和解决
出自图灵学院 白起老师的 ElasticSearch 课程 ,我学完了之后 操作完了做个了笔记,然后发了个博客概述思考一下,github中可以使用代码片段来实现数据搜索。这是如何实现的?在github中也使用了ES来实现数据的全文搜索。其ES中有一个记录代码内容的索引,大致数据内容如下:{ "fileName" : "HelloWorld.java", "authName" : "baiqi", "authID" : 110, "productName" : "first-java"原创 2021-12-04 21:54:02 · 1450 阅读 · 0 评论 -
ElasticSearch ik分词器从MySQL里面获取分词信息
出自 中华石杉 老师的一个课程,缘由每次都是在es的扩展词典中,手动添加新词语,很坑(1)每次添加完,都要重启es才能生效,非常麻烦(2)ElasticSearch是分布式的,可能有数百个节点,你不能每次都一个一个节点上面去修改热更新是ElasticSearch不停机,直接我们在外部某个地方添加新的词语,ElasticSearch中立即热加载到这些新词语.热更新的方案(1)修改ik分词器源码,然后手动支持从mysql中每隔一定时间,自动加载新的词库(2)基于ik分词器原生支持的热更新方案.原创 2021-11-06 20:08:13 · 521 阅读 · 0 评论 -
ElasticSearch ik分词器自定义词库
每年都会涌现一些特殊的流行词,网红,蓝瘦香菇,喊麦,鬼畜,一般不会在ik的原生词典里,所以这样的话自己补充自己的最新的词语,到ik的词库里面去.你可以直接在IKAnalyzer.cfg.xml文件夹下面ext_dict那里配置自己的词库,补充自己的词语,然后需要重启es,才能生效自己建立停用词库:比如了,的,啥,么,我们可能并不想去建立索引,让人家搜索你可以直接在IKAnalyzer.cfg.xml文件夹下面ext_stopwords那里配置自己的停用词库具体操作参考,很简单:https://w原创 2021-11-06 20:07:39 · 1572 阅读 · 0 评论 -
ElasticSearch的IK分词器配置文件
IK分词器配置文件在Linux的地址ik配置文件地址:elasticsearch/plugins/ik/config 目录下的IKAnalyzer.cfg.xmlIKAnalyzer.cfg.xml内容<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd"><properties> &l原创 2021-11-06 20:07:06 · 662 阅读 · 0 评论 -
ElasticSearch ik分词器基础知识analyzer
概述有两种analyzer,你根据自己的需要自己选吧,但是一般是选用ik_max_word如果是ik_max_word的话: 会将文本做最细粒度的拆分,比如会将“中华人民共和国国歌”拆分为“中华人民共和国,中华人民,中华,华人,人民共和国,人民,人,民,共和国,共和,和,国国,国歌”,会穷尽各种可能的组合;如果使用ik_smart的话 会做最粗粒度的拆分,比如会将“中华人民共和国国歌”拆分为“中华人民共和国,国歌”。如果我们搜索"共和国" 搜到吗? 这样就搜不到的.结论一般我们是使用ik_m原创 2021-11-06 20:06:26 · 1192 阅读 · 0 评论 -
安装使用IK分词器(Docker环境)
下载安装ik分词器IK分词器下载地址https://github.com/medcl/elasticsearch-analysis-ik/releases注意!!!下载IK分词器之前需要先查阅你的分词器和你当前的ElasticSearch版本是否匹配,如果不匹配的话,会出现不兼容的情况.导致ElasticSearch启动不起来.在安装很多软件之前都得考虑版本兼容问题…这是非常容易犯的错误.安装将ik分词器上传到服务器上,然后解压,并改名字为ik[root@zjj101 ~]# mkdir ik原创 2021-11-06 20:03:34 · 681 阅读 · 0 评论 -
IK分词器概述
ElasticSearch默认是standard.standard没有办法对中文进行合理分词的,只是将每个中文字符一个一个的切割开来,比如说中国人会切割成 “中” “国” “人” 这三个词汇在搜索引擎领域,比较成熟和流行的,就是ik分词器词汇 中国人很喜欢吃油条如果是standard分词器分词: “中” “国” “人” “很” “喜” “欢” “吃” “油” “条”如果是ik分词器分词: “中国人” “很” “喜欢” “吃” “油条”...原创 2021-11-06 20:02:50 · 809 阅读 · 0 评论 -
ElasticSearch安装ik分词器
安装下载ik分词器,注意要和自己的ElasticSearch版本号一模一样才行,如果不一样可能会有冲突,比如说你ElasticSearch用的是7.6.1版本,那么ik分词器也要是7.6.1,不然就可能启动不成功.如果你是集群环境,那么就将ik分词器安装在集群中的每一台机器上,如果你是单机环境,也是只安装在这一台机器上即可下载地址:https://github.com/medcl/elasticsearch-analysis-ik/releases创建文件夹在 elasticsearch-7.6原创 2021-11-06 19:55:36 · 574 阅读 · 0 评论 -
Elasticsearch如何启动服务和关闭服务
1.查找ES进程ps -ef | grep elastic2.杀掉ES进程kill -9 2382(进程号)原创 2021-11-06 19:39:55 · 2515 阅读 · 0 评论 -
Linux搭建ElasticSearch集群
安装包自己自行准备,或者用我百度网盘的安装包,ElasticSearch Logstash Kibana FileBeat :**链接: **https://pan.baidu.com/s/1_Iv2R8pmYaHkoaOk_m8OuQ 提取码: 5ezt 复制这段内容 : 后打开百度网盘手机App,操作更方便哦创建普通用户ES不能使用root用户来启动,必须使用普通用户来安装启动。这里我们创建一个普通用户以及定义一些常规目录用于存放我们的数据文件以及安装包等。创建一个es专门的用户(必须)使原创 2021-10-31 16:09:28 · 1288 阅读 · 1 评论 -
Linux安装Kibana
注意版本号如果你es用的是7.6.1 ,那么你kibana最好也得用7.6.1 版本号的去我百度网盘下载资源自己自行准备,或者用我百度网盘里面的ElasticSearch Logstash Kibana FileBeat :**链接: **https://pan.baidu.com/s/1_Iv2R8pmYaHkoaOk_m8OuQ 提取码: 5ezt 复制这段内容 : 后打开百度网盘手机App,操作更方便哦客户端可以分为图形界面客户端,和代码客户端上传解压编辑配置文件ES主流客户端Kiba原创 2021-10-31 15:58:15 · 2810 阅读 · 0 评论 -
Elasticsearch集群扩容,垂直扩容还是水平扩容
垂直扩容和水平扩容介绍垂直扩容:所谓的垂直扩容就是升级服务器,买性能更好的,更贵的然后替换原来的服务器,这种扩容方式不推荐使用。因为单台服务器的性能总是有瓶颈的。水平扩容:水平扩容也称为横向扩展,很简单就是增加服务器的数量,这种扩容方式可持续性强,将众多普通服务器组织到一起就能形成强大的计算能力。水平扩容 VS 垂直扩容用一句俗语来说再合适不过了:三个臭皮匠赛过诸葛亮。为什么用水平扩容一般的扩容模式分为两种,一种是水平扩容,一种是垂直扩容。假设现在6台服务器,每台服务器容纳1T的数据,马上数据原创 2021-03-21 23:06:02 · 2363 阅读 · 0 评论 -
ElasticSearch集群检查,master选举,扩容缩容
本篇将介绍ES的集群组成、节点发现与Master选举,错误检测与扩缩容相关的内容。ES在处理节点发现与Master选举等方面没有选择Zookeeper等外部组件,而是自己实现的一套,本文会介绍ES的这套机制是如何工作的,存在什么问题。本文的主要内容如下:ES集群构成节点发现Master选举错误检测集群扩缩容ES集群构成首先,一个Elasticsearch集群(下面简称ES集群)是由许多节点(Node)构成的,Node可以有不同的类型,通过以下配置,可以产生四种不同类型的Node:conf转载 2021-03-21 22:52:23 · 1364 阅读 · 0 评论 -
kibana统计图设置自动刷新
这里设置刷新时间原创 2021-02-23 21:25:03 · 1114 阅读 · 1 评论 -
kibana使用柱状图根据某个字段进行分析
选择柱状图选择数据源选择要分析哪个索引库的数据, 如果没设置,并且不会设置的话看这个帖子https://blog.csdn.net/qq_41489540/article/details/114002809设置x轴选根据字段统计我是根据 ch字段进行统计,就选这个运行生成效果就能查看效果了...原创 2021-02-23 21:24:08 · 939 阅读 · 0 评论 -
kibana创建索引 patterns 数据源
开始配置可以写 * 进行 通配匹配多个, 也可以写索引的全名进行精确匹配配置过滤时间范围这个的意思是配置一个时间字段,然后kibana根据这个字段进行范围取值,比如说查询一年内的数据,那么kibana就根据这个配置的字段进行取值.创建完成...原创 2021-02-23 20:52:09 · 1008 阅读 · 0 评论 -
kibana使用饼状图根据某个字段进行分析
创建饼图选择数据源根据自己的情况去选择选择要根据哪个字段进行统计开始生成饼图生成的饼图是这样的.原创 2021-02-23 20:45:07 · 567 阅读 · 0 评论 -
详细描述一下Elasticsearch搜索的过程
详细描述一下Elasticsearch搜索的过程我们都知道es是一个分布式的存储和检索系统,在存储的时候默认是根据每条记录的_id字段做路由分发的,这意味着es服务端是准确知道每个document分布在那个shard上的。相对比于CURD上操作,search一个比较复杂的执行模式,因为我们不知道那些document会被匹配到,任何一个shard上都有可能,所以一个search请求必须查询一个索引或多个索引里面的所有shard才能完整的查询到我们想要的结果。找到所有匹配的结果是查询的第一步,来自多个sh转载 2021-02-15 16:44:15 · 3325 阅读 · 1 评论 -
ElasticSearch 的 索引Index的结构和原理(倒排索引和正排索引)
(一)doc value正排索引搜索的时候,要依靠倒排索引,你在搜索的时候就可以通过倒排索引直接给相关的document查找出来,就不需要全index的搜索,不需要扫描全部数据了.排序的时候,是不能用倒排索引排序的,你通过倒排索引把所有的document都拿出来再进行排序,这样明显是不靠谱的.所以排序需要依靠正排索引(doc values),看到每个document的每个field,然后进行排序.在建立索引的时候,一方面会建立倒排索引,以供搜索用;一方面会建立正排索引(doc values),以供排原创 2021-02-15 16:04:54 · 877 阅读 · 0 评论 -
ElasticSearch中的分片(shards)是什么
ElasticSearch中的分片(shards)是什么?分片概念分片重要性ES中所有数据均衡的存储在集群中各个节点的分片中,会影响ES的性能、安全和稳定性, 所以很有必要了解一下它。为什么要有分片一个索引可以存储超出单个结点硬件限制的大量数据(比如说我的电脑D盘放满了,我也可以在E盘解压一个服务器,让他们集群,可以共享索引库,就可以平均分享一下就可以了.)。比如,一个具有10亿文档的索引占据1TB的磁盘空间,而任一节点都没有这样大的磁盘空间;或者单个节点处理搜索请求,响应太慢。为了解决这个问题,原创 2021-02-15 15:46:50 · 6110 阅读 · 1 评论 -
ElasticSearch如何进行深分页
10.进行深分页原文地址https://www.cnblogs.com/wangzhen3798/p/10070977.html业务背景在传统业务系统中,一个常见的信息展现方式就是“分页列表”,随着数据量的增大,就会遇到“深分页”问题。比如用户一页一页的翻,一直翻到第5万页。比如导出全部列表数据到excel,实现时一页一页的把数据追加到excel,直到导出全部数据。“深分页”通常的一个问题就是:随着页数越来越大,ES或者关系数据库响应越来越慢,甚至内存溢出OOM!其中的原理是什么呢?如何在ES中进行转载 2021-02-12 14:33:54 · 461 阅读 · 0 评论 -
Elasticsearch 倒排索引原理
原文地址https://zhuanlan.zhihu.com/p/33671444正文网上看到的一篇文章,对Lucene的倒排索引是如何执行的,说的比较易懂,就转过来分享下。Elasticsearch是通过Lucene的倒排索引技术实现比关系型数据库更快的过滤。特别是它对多条件的过滤支持非常好,比如年龄在18和30之间,性别为女性这样的组合查询。倒排索引很多地方都有介绍,但是其比关系型数据库的b-tree索引快在哪里?到底为什么快呢?笼统的来说,b-tree索引是为写入优化的索引结构。当我们不需要转载 2021-02-12 14:04:42 · 265 阅读 · 0 评论 -
Docker 下的ElasticSearch安装使用IK分词器
下载安装ik分词器IK分词器下载地址https://github.com/medcl/elasticsearch-analysis-ik/releases注意!!!下载IK分词器之前需要先查阅你的分词器和你当前的ElasticSearch版本是否匹配,如果不匹配的话,会出现不兼容的情况.导致ElasticSearch启动不起来.在安装很多软件之前都得考虑版本兼容问题…这是非常容易犯的错误.安装将ik分词器上传到服务器上,然后解压,并改名字为ik[root@zjj101 ~]# mkdir ik原创 2020-12-19 14:19:46 · 458 阅读 · 1 评论 -
Kibana概念和Docker安装启动Kibana
概念Kibana 是一款开源的数据分析和可视化平台,它是 Elastic Stack 成员之一,设计用于和 Elasticsearch 协作。您可以使用 Kibana 对 Elasticsearch 索引中的数据进行搜索、查看、交互操作。您可以很方便的利用图表、表格及地图对数据进行多元化的分析和呈现。Kibana 可以使大数据通俗易懂。它很简单,基于浏览器的界面便于您快速创建和分享动态数据仪表板来追踪 Elasticsearch 的实时数据变化。搭建 Kibana 非常简单。您可以分分钟完成 Kib原创 2020-12-18 14:48:12 · 1447 阅读 · 0 评论