
elasticsearch
文章平均质量分 72
elasticsearch
爱上口袋的天空
一步一流年,止不住的脚步,挽不回的青春!
展开
-
Elasticsearch---Springboot2.x中使用High Level REST Client配置
新建SpringBoot2.0.3的WEB工程,在MAVEN的pom.xml文件中加入如下依赖。转载 2023-08-19 21:21:18 · 751 阅读 · 0 评论 -
ES中使用nested类型的内嵌对象
1、简介在大数据的应用环境中,往往使用反范式设计来提高读写性能。假设我们有个类似简书的系统,系统里有文章,用户也可以对文章进行赞赏。在关系型数据库中,如果按照数据库范式设计,需要两张表:一张文章表和一张赞赏历史记录表,赞赏历史记录表包括了赞赏者姓名和赞赏金额。在Elastic search中,由于都是json格式存储,则可以在一个index存储系统中的文章及其赞赏记录,这种情况下需要在elastic search中使用nested类型的内嵌对象。因为如果使用数组或者...转载 2022-05-04 16:23:53 · 1024 阅读 · 0 评论 -
Elasticsearch忽略字段格式类型(ignore_malformed)
前言ignore_malformed是定义Mapping时的一个参数配置,默认为false,即如果将错误的数据类型映射到字段中则会报错,如果设置为true,则可以忽略数据类型的异常。有时,当你对数据类型不太确定时,可以尝试配置这个属性为true。演示示例数值类型创建一个索引,number_one和number_two两个属性都是integer类型的,但是number_one配置了 “ignore_malformed”: truePUT my-index-000001{ "ma转载 2022-05-04 11:06:45 · 1643 阅读 · 0 评论 -
elasticsearch之解除索引只读问题、filter、sort、解除索引最大查询数的限制、reindex迁移数据、boost条件权重控制
1、解除索引只读问题1、查看是否存在只读属性GET /personal_report_chapter_es/_settings2、解除只读命令PUT _settings{ "index":{ "blocks":{ "read_only_allow_delete":"false" } }}2、filter命令返回的文档必须满足filter子句的条件。但是跟Must不一样的是,不会计算分值, 并且可以使用缓存。...原创 2022-05-03 17:59:09 · 3147 阅读 · 0 评论 -
elasticsearch常用命令之_refresh、_delete_by_query、mappings创建索引结构、exists、_source、bool查询(must、should)、大于小于符号
1、_refresh命令用来刷新索引数据,促使其立刻生效:请求如下:GET /test/_refresh2、_delete_by_query命令这个命令主要是用来删除数据,可以删除该索引下指定条件的数据。例如我们删除该索引下所有的数据:POST /test/_delete_by_query{ "query": { "match_all": {} }}3、mappings创建索引结构使用PUT请求创建一个索引结构:PUT tes.原创 2022-05-03 16:55:36 · 2078 阅读 · 0 评论 -
elasticsearch启动脚本模板
#!bin/bashcase $1 in #接受传入的参数start) #判断是否是启动 cd /home/dhapp/software/es-cluster/ #进入安装的目录下 bin/elasticsearch -d echo "elastic is start up!" ;; stop) #判断是否是停止 pid=`ps -ef | grep elastic | awk '{print $2}' | awk 'NR==1 {print}'` #截取es进程的pid if [.原创 2022-05-02 19:42:32 · 1339 阅读 · 0 评论 -
ElasticSearch 分页问题分析
1、简介ElasticSearch是搜索引擎,从搜索的意义上来说,如果筛选条件或前几页都找不到需要的数据,继续深度分页也不会找到想要的数据。ElasticSearch不要做深度分页和随机深度跳页。2、ES 分页建议增加默认的筛选条件,尽量减少数据量的展示,比如:最近一个月; 限制总分页数,比如:淘宝、京东仅显示100页查询结果,百度仅显示76页; 修改跳页的展现方式,改为滚动显示,或小范围跳页,比如:谷歌、百度的小范围跳页。3、ES 三种分页比较from+size:适用转载 2021-08-19 22:43:40 · 1209 阅读 · 0 评论 -
es查询性能优化
1.如果条件允许,内存和cpu一定要足够多,要超过总数据量的1半以上最好,当然数据量很大的时候要在经常查询数据的2倍以上。2.数据分离存储,经常查询的数据放一些索引,不经常查询的放一部分索引,然后通过唯一的id关联即可,需要查那些不经常查的数据的时候通过id查询即可,这里可以和hbase联合使用。把条件字段和经常查看的字段放在es中,不经常查看的放hbase中,这样既可以省es的空间,性能效果也俱佳3.数据大时,每个索引的数据量不要太大,一般很大的时候可以每天一个索引,或者每月一个索引,具体看业务来转载 2021-08-15 15:54:49 · 5408 阅读 · 0 评论 -
es 大批量写入提高性能的策略
1、用bulk批量写入你如果要往es里面灌入数据的话,那么根据你的业务场景来,如果你的业务场景可以支持让你将一批数据聚合起来,一次性写入es,那么就尽量采用bulk的方式,每次批量写个几百条这样子。bulk批量写入的性能比你一条一条写入大量的document的性能要好很多。但是如果要知道一个bulk请求最佳的大小,需要对单个es node的单个shard做压测。先bulk写入100个document,然后200个,400个,以此类推,每次都将bulk size加倍一次。如果bulk写入性能开始变平转载 2021-08-15 11:36:49 · 10863 阅读 · 0 评论 -
Springboot整合es集群实现千万级数据量导入
1、创建一个mysql测试表,数据量大概6千万左右create table big_table_test( id int(11) not null primary key, num1 double(8,2), num2 double(8,2), num3 double(8,2), num4 double(8,2), num5 double(8,2), num6 double(8,2), num7 double(8,2), num8 double(原创 2021-08-15 11:29:17 · 3265 阅读 · 4 评论 -
Elasticsearch之新闻案例实战
1、创建数据库表且预置数据1.1、表结构如下DROP TABLE IF EXISTS `news`;CREATE TABLE `news` ( `id` int(11) NOT NULL AUTO_INCREMENT, `title` varchar(255) NOT NULL comment '主题', `url` varchar(255) DEFAULT NULL comment '连接', `content` text comment '内容',原创 2021-07-04 23:04:18 · 549 阅读 · 0 评论 -
Elasticsearch之自动补全案例实战
1、案例需求:通过拼音以及汉字筛选对应的明星!2、设置分词器以及mappingPUT starts{ "settings": { "analysis": { "analyzer": { "start_name_analyzer":{ "char_filter":["html_strip"], "tokenizer":"keyword", "filter":"start_name_filt原创 2021-07-04 18:12:46 · 550 阅读 · 2 评论 -
Elasticsearch之analysis
1、简介analysis(只是一个概念),文本分析是将全文本转换为一系列单词的过程,也叫分词。analysis是通 过analyzer(分词器)来实现的,可以使用Elasticsearch内置的分词器,也可以自己去定制一些分词 器。 除了在数据写入的时候进行分词处理,那么在查询的时候也可以使用分析器对查询语句进行分词。anaylzer是由三部分组成,例如有:Hello a World, the world is beautiful1. Character Filter: 将文本中html标签剔原创 2021-07-04 14:55:16 · 1000 阅读 · 2 评论 -
ES之词库的动态添加
1、环境准备1)安装nginx1.18.02) 安装好ES7.8.1和kibana7.8.1(提前准备好)2、安装nginx2.1)拉取nginx1.18.0镜像 docker pull nginx:1.18.02.2)创建挂载容器里面的界面的访问 mkdir -p /mydata/nignx/html2.3)在/mydata/nignx/html/中创建hotwords.txt 2.4)docker命令启动ngi...原创 2021-07-04 14:40:11 · 1251 阅读 · 0 评论 -
Elasticsearch之Request Body查询
1、term查询简介term是表达语义的最小单位,在搜索的时候基本都要使用到term。 term查询的种类有:Term Query、Range Query等。 在ES中,Term查询不会对输入进行分词处理,将输入作为一个整体,在倒排索引中查找准确的词项。 我们也可以使用 Constant Score 将查询转换为一个filter,避免算分,利用缓存,提高查询的效 率。2、term与terms查询电影名字中包含有 beautiful 这个单词的所有的电影,用于查询的单词不会进行分词的处理原创 2021-07-03 18:15:01 · 725 阅读 · 1 评论 -
Kibana操作ES之CRUD
1、查询es中所有的索引命令:GET _cat/indices2、查询指定索引的数据命令:GET movies/_search# 查询movies的数据3、查询指定索引所拥有的数据总数命令:GET movies/_count #查询movies的总数4、查询索引指定id的数据命令:GET movies/_doc/24 #查询id为24的数据5、新增数据,如果没有指定id,ES会自动生成命令:POST users/_doc/1 { ..原创 2021-07-03 10:28:07 · 517 阅读 · 1 评论 -
Elasticsearch相关问题
1、为什么要使用 Elasticsearch?系统中的数据, 随着业务的发展,时间的推移, 将会非常多, 而业务中往往采用模糊查询进行数据的搜索, 而模糊查询会导致查询引擎放弃索引,导致系统查询数据时都是全表扫描,在百万级别的数据库中,查询效率是非常低下的,而我们使用 ES 做一个全文索引,将经常查询的系统功能的某些字段,比如说电商系统的商品表中商品名,描述、价格还有 id 这些字段我们放入 ES 索引库里,可以提高查询速度。2、Elasticsearch 的 master 选举流程?El转载 2021-06-26 22:08:37 · 369 阅读 · 0 评论 -
Elasticsearch优化
1、硬件选择Elasticsearch 的基础是 Lucene,所有的索引和文档数据是存储在本地的磁盘中,具体的路径可在 ES 的配置文件…/config/elasticsearch.yml中配置,如下:## Path to directory where to store the data (separate multiple locations by comma):#path.data: /path/to/data## Path to log files:#path.logs:转载 2021-06-26 21:46:11 · 230 阅读 · 0 评论 -
Spring Data集成Elasticsearch
1、简介Spring Data Elasticsearch基于Spring Data API简化 Elasticsearch 操作,将原始操作Elasticsearch 的客户端API进行封装。Spring Data为Elasticsearch 项目提供集成搜索引擎。Spring Data Elasticsearch POJO的关键功能区域为中心的模型与Elastichsearch交互文档和轻松地编写一个存储索引库数据访问层。2、框架集成-SpringData-代码功能集成一、创建Mav.转载 2021-06-26 21:03:26 · 1108 阅读 · 0 评论 -
Elasticsearch进阶之故障转移、水平扩容,倒排索引,分析器等
1、单节点集群我们在包含一个空节点的集群内创建名为 users 的索引,为了演示目的,我们将分配 3个主分片和一份副本(每个主分片拥有一个副本分片)。#PUT http://127.0.0.1:1001/users{ "settings" : { "number_of_shards" : 3, "number_of_replicas" : 1 }}集群现在是拥有一个索引的单节点集群。所有 3 个主分片都被分配在 node-1 。通转载 2021-06-26 20:38:37 · 420 阅读 · 0 评论 -
Elasticsearch相关核心概念
1、索引Index 一个索引就是一个拥有几分相似特征的文档的集合。比如说,你可以有一个客户数据的索引,另一个产品目录的索引,还有一个订单数据的索引。一个索引由一个名字来标识(必须全部是小写字母),并且当我们要对这个索引中的文档进行索引、搜索、更新和删除(CRUD)的时候,都要使用到这个名字。在一个集群中,可以定义任意多的索引。 能搜索的数据必须索引,这样的好处是可以提高查询速度,比如:新华字典前面的目录就是索引的意思,目录可以提高查询速度。 Elasti...转载 2021-06-24 23:36:53 · 245 阅读 · 0 评论 -
Elasticseach之Linux集群部署
1、环境准备安装Elasticsearch 7.8.0服务器: 192.168.56.20 -es001(Master) 192.168.56.21 -es002 192.168.56.22 -es0032、将es的安装包上传到Linux服务器将软件分发到其他节点: es002, es0033、解压软件解压命令:tar -zxvf elasticsearch-7.8.0-linux-x86_64.tar.gz将软件改名:mv ...转载 2021-06-24 21:53:04 · 281 阅读 · 0 评论 -
ELK知识点学习
ElasticSearch简介以及单机安装原创 2020-01-02 21:53:40 · 370 阅读 · 0 评论