草庐IT

ELasticSearch

全部标签

ElasticSearch系列(七)es内存大小设置

近期发现线上es服务内存告警,使用率超过90%,需要处理,下面记录下处理流程。1.查看进程内存占用情况使用top命名,可以显示进程列表,然后键盘按下M键,可以按照内存降序,结果如下:elastic+就是es的进程。2.查看es配置的内存大小使用ps-ef|grepjava(或者按照上面的进程号找),显示java进程,如下是es进程:可以看到es进程启动时设置的java堆内存为-Xms5g-Xmx-5g,也就是5g,这两个参数一般建议设置成一样。修改之前,这里设置的是6g,物理总内存为8g,所以光es进程就占用了75%;有个疑问是,75%而已,为什么实际使用内存到了90%呢?服务器上也没有安装其

elasticsearch集群部署、配置

系统:CentOS7前提:安装好JDKES与JDK对应表,截止日期:2022-01-12 一、安装ES1、下载或者上传安装包        elasticsearch-7.15.2-linux-x86_64.tar.gz2、解压安装包(-C:指定目录)        tar-zxvfelasticsearch-7.15.2-linux-x86_64.tar.gz-C/opt3、创建普通用户        因为安全问题,Elasticsearch不允许root用户直接运行,所以要创建新用户,在root用户中创建新用户,执行如下命令:        useraddelasticsearch#新增e

Elasticsearch8.X入门实战(七)Java API操作:员工信息

Elasticsearch本身使用Java开发,因此对Java的支持能力是最好的。本节通过对员工信息建立索引,并对索引数据进行添加、修改等,讲解Elasticsearch的相关Java客户端API的操作。1.新建项目在Eclipse中新建Maven项目elasticsearch_demo,在pom.xml文件中加入项目的依赖库,内容如下:co.elastic.clientselasticsearch-java8.1.1com.fasterxml.jackson.corejackson-databind2.12.3 项目目录结构如图需要注意的是,由于本例使用的Elasticsearch版本为8.

docker-elastic7.9.3集群搭建并开启用户验证

【一】dockeres7.9.3集群搭建1.1首先准备3台机器,确认master节点机器。192.168.30.1(master)192.168.30.2192.168.30.31.2编写每个node节点的elasticsearch.ymlnode1:vim/data/elasticsearch/config/es1.ymlcluster.name:"docker-cluster"network.host:0.0.0.0node.name:es-node-1network.bind_host:0.0.0.0network.publish_host:192.168.30.1http.port:9

关于推荐场景的一些思考

背景由于用户数的飙升,推荐使用的技术栈也在不断升级,以满足更高并发和更大数据量的推荐场景。推荐相关的原始数据从小几十万到几百万,到几千万,再到上亿。推荐1.0从全库的用户数据中load出满足条件的用户,在jvm做计算,得到推荐结果。随着用户数量的上升,满足条件的用户越来越多,导致计算量越来越大,性能逐渐变低推荐2.0一边从数据库中load出满足条件的用户,一边用sql在数据库做计算,直接得到推荐结果。利用索引,性能提升五倍左右。随着用户量继续上升,性能也在逐渐变低。推荐3.0将数据库推荐相关的数据,通过canal同步到ES,在ES中对数据重新建模,类似宽表,依靠ES的自定义评分机制,得到推荐结

javascript - elasticsearch 分析器 - 小写和空格分词器

我如何创建一个映射来标记空格上的字符串并将其更改为小写以进行索引?这是我当前通过空格标记化的映射,我无法理解如何将其小写并搜索(查询)相同...{"mappings":{"my_type":{"properties":{"title":{"type":"string","analyzer":"whitespace","tokenizer":"whitespace","search_analyzer":"whitespace"}}}}}请帮忙... 最佳答案 我设法编写了一个自定义分析器,这很有效..."settings":{"ana

ES使用Ngram分词器实现wildcard高性能替代方案

1、wildcard检索wildcard检索可定义为:支持通配符的模糊检索,类似Mysql中的like模糊匹配模式,如下使用非分词器(ik)方式实现模糊匹配。创建常规支持wildcard索引PUTidx_recommend_words{"settings":{"index":{"number_of_shards":"5","number_of_replicas":"3","refresh_interval":"5s"}},"mappings":{"rec_words":{"_all":{"enabled":false},"dynamic_templates":[{"attribute_valu

Elasticsearch与spring data整合api变化

记录spring-data-elasticsearch版本api变化https://blog.csdn.net/zlpzlpzyd/article/details/128255792springboot2.7.x对应 spring-data-elasticsearch 4.4.x排查问题之前先看一下上述链接中版本的对应关系 org.springframework.data.elasticsearch.core.ElasticsearchTemplate找不到该类,但是有一个类是client包下的 org.springframework.data.elasticsearch.client.elc

Elasticsearch的增删改查基本操作

目录一、es中的概念二、和mysql的关系映射三、索引操作1、创建索引2、获取索引3、获取所有索引4、删除索引四、文档操作1、新增1)post 2)put2、查询1)主键查询 2)全量查询search3、修改1)全量覆盖2)部分修改 4、删除一、es中的概念正排索引:比如通过主键id去查找文章的内容倒排索引:通过文章关键字查询文章主键id,从而回去文章内容,这种索引形式就是倒排索引。二、和mysql的关系映射ES里的Index可以看做一个库,而Types相当于表,Documents则相当于表的行。这里Types的概念已经被逐渐弱化,Elasticsearch6.X中,一个index下已经只能包

elasticsearch实现简单的脚本排序(script sort)

文章目录1、背景2、分析3、构建数据3.1mapping3.2插入数据4、实现4.1根据省升序排序4.1.1dsl4.1.2运行结果4.2湖北省排第一4.2.1dsl4.2.2运行结果4.3湖北省排第一,其余省升序排序,按照年龄倒序4.3.1dsl4.3.2java代码4.3.3运行结果5、完整代码6、参考文档1、背景我有一堆学生数据,其中湖北省的学生需要排在所有数据的最前面。其余省正序排序,对于同一个省的数据,按照年龄倒序排序。2、分析对于上方的排序需求,湖北省的学生数据需要排在前端,但是湖北省并不是一个字段,那么这个时候改如何实现呢?对于这种场景我们很容易就想到需要脚本scriptsort