sort
摘要:sort 排序 指定按一个或多个字段排序。可通过_score指定按评分值排序,_doc 按索引顺序排序。默认是按相关性评分从高到低排序 GET /user/_search { "query": { "match_all": {} }, "sort":{ "age":{ "order":"desc"
阅读全文
posted @
2023-06-10 07:38
溪水静幽
阅读(13)
推荐(0) 编辑
调试优化
摘要:对于执行缓慢的查询,很想知道它为什么慢,时间都耗在哪,可以在查询上加入上 profile 来获得详细的执行步骤、耗时信息。 GET user/_search { "profile":true, "size":10, "query":{ "match_all": {} }, "search_after
阅读全文
posted @
2023-06-10 07:38
溪水静幽
阅读(5)
推荐(0) 编辑
logstash实战
摘要:创建logstash-test.conf配置文件 input { file { path => "/root/logstash/service-logs/info.log" start_position => "beginning" sincedb_path => "/dev/null" } } f
阅读全文
posted @
2023-05-13 16:29
溪水静幽
阅读(34)
推荐(0) 编辑
多表关联
摘要:Elasticsearch关联关系如何存储? 1、应用端关联 存储层面:独立两个索引存储。 实际业务层面分两次请求 适用场景:数据量少的业务场景,优点:数据量少时,用户体验好。缺点:数据量大,两次查询耗时比较长,影响用户体验 引申场景:关系型数据库和ES 结合,各取所长。将关系型数据库全量同步到 E
阅读全文
posted @
2023-03-17 14:42
溪水静幽
阅读(108)
推荐(0) 编辑
索引设计
摘要:1、PB 级别的大索引如何设计? 一个索引很大,数据写入和查询性能都会变差。高效检索体现在:基于日期的检索可以直接检索对应日期的索引,无形中缩减很大的数据规模。 2、分片数和副本数如何设计? 数据切分分片的主要目的: (1)水平分割/缩放内容量 。 (2)跨分片(可能在多个节点上)分布和并行化操作,
阅读全文
posted @
2023-03-17 14:01
溪水静幽
阅读(42)
推荐(0) 编辑
更新数据后不能立即刷新的问题
摘要:问题 向elasticsearch中新增一条文档数据后,立即请求查询文档列表,发现刚刚新增的文档查不出来,需要等一会后再次请求查询才能查询出来 原因分析 写操作中,一般会先在内存中缓冲一段数据,再将这些数据写入硬盘,每次写入硬盘的这批数据称为一个分段,如同任何写操作一样。 一般情况下,通过操作系统w
阅读全文
断路器
摘要:es包含多个断路器用来避免会引起OOM的操作。每个断路器指定可以使用的内存限制。还有一个parent级别的断路器指定所有断路器可以使用的总内存。 Parent断路器 父级别断路器可以通过以下参数设置: indices.breaker.total.use_real_memory:(静态设置)确定父断路
阅读全文
posted @
2023-03-14 22:27
溪水静幽
阅读(141)
推荐(0) 编辑
collapse
摘要:根据字段值折叠搜索结果。通过按折叠键选择顶部排序文档来完成折叠。查询检索每个用户的最佳推文,并按喜欢的数量对它们进行排序。 GET /twitter/_search { "query": { "match": { "message": "elasticsearch" } }, "collapse"
阅读全文
posted @
2023-01-01 12:32
溪水静幽
阅读(144)
推荐(0) 编辑
重建索引
摘要:重建索引步骤: 1、新增⼀个索引blog_lastest,Mapping数据结构与blog索引一致 2、将blog数据同步至blog_lastest 3、删除blog索引 4、数据同步后给blog_lastest添加别名blog 新建索引 PUT /blog_lastest { "mappings"
阅读全文
posted @
2022-12-03 09:22
溪水静幽
阅读(121)
推荐(0) 编辑
stored fields
摘要:设置索引的时候,给某些字段的store属性设置为true,在查询时,请求中可以携带stored_fields参数,指定某些字段,这些字段会被包含在返回的结果中。如果请求中携带的字段没有被储存,将会被忽略。 没有设置store的情况,默认没有store属性 PUT blog_index { "mapp
阅读全文
posted @
2022-11-27 14:35
溪水静幽
阅读(49)
推荐(0) 编辑
分页
摘要:from and size GET /user/_search { "from":0, "size":10, "query":{ "term":{ "user":"王五" } } } 注意:搜索请求耗用的堆内存和时间与 from + size 大小成正比。分页越深耗用越大,为了不因分页导致OOM或严
阅读全文
posted @
2022-11-12 19:50
溪水静幽
阅读(66)
推荐(0) 编辑
Rollover详解
摘要:Rollover 滚动过渡。可以通过配置索引的时间段、文档数量、索引大小满足条件则自动过渡到新索引。当rollover 触发时,将通过目标索引的命名规则生成新的索引。 作用:比如有些索引数据只需要保存前几个月的数据,之前的可以删除或者压缩做为冷索引,不再更新索引,很少查询。信息仍然需要可搜索。ES定
阅读全文
posted @
2022-11-06 23:18
溪水静幽
阅读(733)
推荐(0) 编辑
压缩算法:FOR算法和RBM算法
摘要:倒排索引为什么需要压缩算法?对term(词项)其记录的倒排索引是 banana: 1,4 this: 1,2 apple: 2,3 现在doc一共有10000行,term倒排索引可能就会变成banana: 1,2,3,4,78,90,1000,1001,1002,1003,9998,9999,实际存
阅读全文
posted @
2022-06-22 21:31
溪水静幽
阅读(413)
推荐(0) 编辑
搜索模板
摘要:创建了一个ID为order_id_template的简单模板。因为ES使用的是mustache语言所以lang的参数被设置为mustache。请求完成后就获得了一个ID为order_id_template,根据传递的orderId参数来筛选order_id内容的脚本。 POST _scripts/o
阅读全文
posted @
2021-10-31 12:03
溪水静幽
阅读(118)
推荐(0) 编辑
Geo-point地理位置
摘要:在es中存在2种地理位置数据类型,geo_point和geo_shape。es无法自动识别这种数据类型,需要在创建mapping的时候,自己手动指定。 geo_point使用的是经纬度的坐标点,可以计算落在某个矩形内的点、以某个点为半径(圆)的点、排序、聚合等操作。 geo_shape表示是一个复杂
阅读全文
posted @
2021-10-26 23:38
溪水静幽
阅读(536)
推荐(0) 编辑
Highlighting高亮显示
摘要:创建测试索引 PUT /test_index { "mappings": { "properties": { "title":{ "type":"text", "analyzer": "ik_max_word" }, "content":{ "type":"text", "analyzer":"ik
阅读全文
posted @
2021-10-20 22:58
溪水静幽
阅读(35)
推荐(0) 编辑
基于Term Vectors深入探查数据的情况
摘要:Term Vectors就是 获取document中的某个field内的各个term的统计信息,主要包含以下几个信息: term frequency in the field, term positions, start and end offsets, term payloads 设置term_s
阅读全文
posted @
2021-10-17 20:59
溪水静幽
阅读(55)
推荐(0) 编辑
_Join datatype 父子关系数据建模
摘要:nested object的建模,有个不好的地方,就是采取的是类似冗余数据的方式,将多个数据都放在一起了,维护成本比较高 ES 提供了类似关系型数据库中 Join 的实现。使用 Join 数据类型实现,可以通过 Parent / Child 的关系,从而分离两个对象 父文档和子文档是两个独立的文档
阅读全文
posted @
2021-10-16 11:05
溪水静幽
阅读(113)
推荐(0) 编辑
Nested Aggregation/ Reverse nested Aggregation对嵌套的博客评论数据进行聚合分析
摘要:模拟数据 PUT /blogs { "mappings": { "properties": { "comments": { "type": "nested", "properties": { "name": { "type": "text" }, "comment": { "type": "text
阅读全文
posted @
2021-10-15 08:25
溪水静幽
阅读(159)
推荐(0) 编辑
基于nested object实现博客与评论嵌套关系
摘要:创建索引,插入一条数据 PUT /blogs/_doc/1 { "title": "花无缺发表的一篇帖子", "content": "我是花无缺,大家要不要考虑一下投资房产和买股票的事情啊。。。", "tags": [ "投资", "理财" ], "comments": [ { "name": "小
阅读全文
posted @
2021-10-12 23:12
溪水静幽
阅读(34)
推荐(0) 编辑