Elasticsearch入门到精通
Elasticsearch学习笔记
养-乐多
这个作者很懒,什么都没留下…
展开
-
全网最简单的Elastic Search集群搭建
全网最简单的Elastic Search集群搭建相关环境:Elastic Search版本为当前最新版本:7.6.2CentOS 7.8虚拟机:192.168.101.53、192.168.101.55、192.168.101.56看到很多博客写搭建集群环境,各种配置各种参数,看的眼花缭乱,自己也试过,但是感觉很繁琐,索性自己从0开始,只需要修改几个配置即可,如下:# 节点名称,可以保持默认也不影响node.name: node-1# 你当前本机的IP地址network.host: 19原创 2020-05-12 11:14:26 · 643 阅读 · 0 评论 -
ELK日志收集平台搭建
Elastic Stack(旧称ELK)是一个开源的日志处理平台,主要组件为Elasticsearch(分布式存储),Logstash(日志收集/字段处理/管道),Kibana(前端展示),在适当的硬件基础上拥有处理亿级日志或文档的能力。分步指南Elasticsearch首先,安装Elasticsearch集群环境,关于节点数量,ES集群会自动的选举出master节点,集群中其他节点则会...原创 2020-01-06 13:14:54 · 341 阅读 · 1 评论 -
Elasticsearch聚合查询(过滤)
假如现在有这样的需求:查出2020-01-01至2020-05-01之间药店标识的聚合信息。那DSL语句该怎么写?第一种写法{ "from": 0, "size": 0, "query": { "bool": { "filter": { "range": { "create_time": { "from": "2020-05-13 00:00:00", "to": "2020-05-1原创 2020-07-14 18:25:07 · 1067 阅读 · 0 评论 -
Elasticsearch查询match
吐槽,说实在ES的查询特定语言(DSL)确实很繁琐,而且版本也在不停的迭代,新的查询也是层出不穷。吐槽归吐槽,今天就来说下match和match_phrase的区别吧!一、matchGET /_search{ "query": { "match": { "message": "this is a test." } }}上面的语句表示查询message字段中包含this、is、test(被分成3个词)的三个单词,并且默认情况下这三个词之间是or的关系,也就是只要这三个词中间任意一原创 2020-07-13 16:44:24 · 533 阅读 · 0 评论 -
Elasticsearch各种查询
对于一个搜索引擎来说,查询是最重要的,熟练掌握ES的各种查询在处理各种业务定能事半功倍。了解ES的历史,都应该知道ES是基于Lucene的,所以ES的查询也是支持Lucene的语法(或者叫DSL),但是这种语法写起来不是很友好,特别是某些特殊字符在URL上被编码之后尤其如此,因此ES官方并不推荐使用这种方式。查询字符串了解会用即可,请参考:https://www.elastic.co/guide/cn/elasticsearch/guide/current/search-lite.html,或者请参阅L原创 2020-07-03 14:13:42 · 288 阅读 · 0 评论 -
Elasticsearch之索引别名
有时候我们使用ES索引的别名更方便操作,比如不通索引设置相同别名时使用这个别名可以一起查询(注意只能查询,即读操作);别名可以随时增加、删除,方便某些时候的访问。增加索引别名POST /_aliases{ "actions" : [ { "add" : { "index" : "saas_product_batch_stock_test", "alias" : "saas_product_batch_stock" } } ]}指定索引saas_product_ba原创 2020-07-03 13:32:19 · 1031 阅读 · 0 评论 -
Elasticsearch之指定分片、路由查询
一、分片都知道一份数据只会在一个分片上出现,当分片数很多的情况,如果要查询某个数据并且已知在某个分片上,那么就可以指定分片查询,避免ES在查询的时候做无用功,效率低!DSL方式直接在URL上拼接分片参数即可,其参数为preference=_shards:1,其中数字1就表示当前所在的分片数,示例如下:GET /saas_order_info_now/_search?preference=_shards:1{ // ....}Java方式org.springframework.data.e原创 2020-06-29 15:39:22 · 3938 阅读 · 0 评论 -
Elasticsearch之映射(mapping)
创建索引、映射// 请求方式 /索引名称PUT /saas_product_stock_test{ // 索引设置,并设置主分片和副本分片个数 "settings": { "index": { "number_of_shards": "16", "number_of_replicas": "0" } }, // 映射,注意映射类型为strict "mappings": { "_doc": { "dynamic": "st原创 2020-06-10 11:03:25 · 281 阅读 · 0 评论 -
ElasticSearch之聚合查询(composite)
此文转载自:https://blog.csdn.net/qq_18895659/article/details/86540548简介compositecomposite是一个多桶聚合,它从不同的源创建复合桶,与其他多桶聚合不同,复合聚合可用于高效地对多级聚合中的所有桶进行分页。这种聚合提供了一种方法来流特定聚合的所有桶,类似于滚动对文档所做的操作。组合桶是由为每个文档提取/创建的值的组合构建的,每个组合被视为组合桶。如下为官方给的例子:{ "keyword": ["foo", "bar"],转载 2020-06-10 15:58:28 · 1950 阅读 · 1 评论 -
Elasticsearch之索引映射模板
具体查看官网说明:https://www.elastic.co/guide/cn/elasticsearch/guide/current/index-templates.html这个索引模板说实在,就我当前的业务没什么用,但是如果你的索引被别人创建了模板,如果你再次创建,并且删掉了一些字段,你会惊奇的发现创建完之后删掉的字段依旧还在!这个问题如果你不知道有索引模板,就会百思不得其解。只有你删掉了这个索引模板之后,再次创建就正常了。另外附上别人的操作:https://elasticsearch.cn/ar原创 2020-06-12 15:18:36 · 388 阅读 · 0 评论 -
Elasticseach之文档所在分片
elasticseach的分片有很多时,如果我想查询下某个文档当前所在分片,该如何查询?GET /saas_product_batch_stock_test/_search_shards?routing=ZHL10184670,ZHL10174592,ZHL10180859注意routing支持多个,使用英文逗号分割。该参数就是你设置的路由,如果没有改变路由值,默认就是_id。其结果如下:{ "nodes" : { "Ea27RhxZSwe-i1d1_e4byQ" : { /原创 2020-06-12 18:31:38 · 187 阅读 · 0 评论 -
Elasticsearch之索引设置
索引设置(分片、副本)由于Elasticsearch单词过长,因此以后在不是特别强调的场合全部采用ES来称呼。在ES中要想存储数据,则需要建立索引和类型(7.X版本中移除了,默认为_doc),同时为了保证索引数据高可用、高性能,需要设置分片和副本。采用的HTTP请求(请求方式为PUT ),请求体参数为JSON格式的方式来创建索引,同时设置分片数和副本数。请求路径PUT /my_temp_index/my_temp_index代表该索引的名称,这个路径在不通的功能下其路径也是不一样的。注意请求原创 2020-06-18 10:44:28 · 624 阅读 · 0 评论