从零开始搭建Elasticsearch集群(一)从零开始搭建Elasticsearch8.6集群(一)简单介绍下Elasticsearch,以及为何使用它下载Elasticsearch准备服务器解压安装配置文件elasticsearch.yml修改调整JVM运行内存设置密码证书认证1.生成证书2.生成秘钥3.迁移凭证地址到config目录下4.其他集群都要将这个凭证移动到这个ES安装的config目录下5.各个集群节点都添加keystore密码切换用户启动(重要)设置集群访问密码创建完毕进行访问查看从零开始搭建Elasticsearch8.6集群(一)简单介绍下Elasticsearch,以及
文章目录前言一、Promise的概念二、使用Promise创建PromisePromise常用方法Promise.prototype.then()Promise.prototype.catch()all()链式调用前言本篇文章主要介绍了ES6语法中的Promise对象的使用详解,promise对象是JS进阶学习中的重要知识点,如果本文对你有所帮助请三连支持博主,你的支持是我更新的动力,先赞后看养成习惯。以下是本篇文章正文内容一、Promise的概念Promise是异步编程的一种解决方案,是一个对象,可以获取异步操作的消息,大大改善了异步编程的困难,避免了回调地狱,比传统的解决方案回调函数和事件
文章目录前言一、Promise的概念二、使用Promise创建PromisePromise常用方法Promise.prototype.then()Promise.prototype.catch()all()链式调用前言本篇文章主要介绍了ES6语法中的Promise对象的使用详解,promise对象是JS进阶学习中的重要知识点,如果本文对你有所帮助请三连支持博主,你的支持是我更新的动力,先赞后看养成习惯。以下是本篇文章正文内容一、Promise的概念Promise是异步编程的一种解决方案,是一个对象,可以获取异步操作的消息,大大改善了异步编程的困难,避免了回调地狱,比传统的解决方案回调函数和事件
1.建模板#log_template为模板名称可更改PUT/_template/log_template?pretty{#以log开头的索引都会使用此模板创建"template":"log*","settings":{#设置es分片数量,可不设"number_of_shards":10},"mappings":{#设置模板中属性,可不设置"properties":{"name":{"type":"text","index":"true"}}},#索引别名,查询时可使用别名查询索引"aliases":{"log":{}}}2.创建索引时携带年月(如果按日删除需携带年月日) 例:log-20220
索引操作创建索引创建索引使用PUT请求,后面跟上索引名称就好了,由于7.x默认type为_doc,所以后面不必跟上type了。在PUT简单请求同时,可以加上JSON请求体,进行复杂创建。创建索引user,可以通过参数setting设置分片和副本数,通过number_of_shards设置一共有3个分片,通过number_of_replicas给每个分片设置2个副本,默认不指定的话,这两个参数都是1。通过mappings规定文档各个Filed插入类型。PUT/user{"settings":{"index":{"number_of_shards":3,"number_of_replicas":2
背景:单机的ES,已有了大量的生产数据,莫名其妙隔了几天数据丢失,日志显示索引被删除。原因:索引分片的原因。建立索引时,es默认会分配一个主分片,一个副分片,但按es规定主分片与副分片不应存在在一台服务器上,单机版的这种情况会被视为索引状态有问题,es会自动检测并删除索引。解决方法:单机es时,修改配置,将副本分片数量设置为0即可。PUT127.0.0.1:9200/xxx/_settings{"index":{"number_of_replicas":0}}
运行代码//$node-v//v16.14.0console.log(__dirname);报错:ReferenceError:__dirnameisnotdefinedinESmodulescope原因package.json加了以下配置{"type":"module","engines":{"node":">=14.16"}}解决1、方法一删除文件package.json中的配置项:"type":"module"2、方法二注意:该方法得到的是运行目录,并不是该文件的所在目录importpathfrom"path"const__dirname=path.resolve();console.l
问题:在ES中创建索引,但是无法设置mapping,出现如下错误analyzer[ik_max_word]notfoundforfield1.如果未安装ik分词器,先安装ik分词器2.如果已安装ik分词器。解决:如果你的多个节点的集群,那么需要在集群的每个实例上都要安装Ik。
使用es时经常会碰到查询数组格式的字段是否有多个值的情况,总结一下。一、字段类型为keywork时"id":["1","2"]当字段类型为keyword时(创建索引后,添加的第一条数据id字段格式为数组格式,便会导致后续的数据都是数组),查询id字段有多值时用以下查询语句:{"query":{"script":{"script":"doc['id'].size()>1"//1代表的是数组长度}}}二、字段类型为nested类型时"entity":[{"id":"1""name":"张三"},{"id":"2""name":"李四"}]当字段类型为nested类型时,需要把entity字段的in
#!Elasticsearchbuilt-insecurityfeaturesarenotenabled.Withoutauthentication,yourclustercouldbeaccessibletoanyone.Seehttps://www.elastic.co/guide/en/elasticsearch/reference/7.15/security-minimal-setup.htmltoenablesecurity😈打开es安装路径,打开config文件夹,编辑elasticsearch.yml,在里面添加xpack.security.enabled:false然后保存退出