ElasticSearch
文章平均质量分 72
Oxye
我们都有选择权
展开
-
ElasticSearch:修改各节点的分片上限
目录es节点分片达到上限修改分片上限DSL输入命令行输入修改后确认es节点分片达到上限es在使用一段时间后会发生新建索引失败的错误这时候查看分片上限GET _cluster/health会展示集群状态,包括节点总数,如果分片超了,集群状态可能变成yellowElasticsearch 默认的分片上限1000修改分片上限DSL输入在elasticsearch-head或kibana输入PUT _cluster/settings{ "persistent": {原创 2021-06-25 22:17:56 · 2177 阅读 · 1 评论 -
ElasticSearch 7.x 三种分页搜索选型 from&size scroll search_after
目录三种分页方式from & sizescrollsearch_after分页方式比较from&size 与 search_afterscroll与 search_after经典报错参考:三种分页方式from & size类似关系型数据库中的limit & offset。如果查询语句未标明from & size,es查询默认只会查出10条数据。但是默认情况下,不能使用 from & size 设置超过 10,000的数量。此限制是由 index.ma原创 2021-06-18 12:25:25 · 918 阅读 · 0 评论 -
ElasticSearch:模糊查询,是match、fuzzy还是wildcard?™和SQL中like的区别
目录引子:DSL 和SQL中模糊查询一样吗ElasticSearch中的模糊查询match 分词匹配检索wildcard 通配符检索fuzzy 模糊/纠错检索结论引子:DSL 和SQL中模糊查询一样吗大家好,我是马儿今天来说一下模糊查询的事,我们使用关系型数据库时,模糊查询使用的就是like,加上通配符通配符说明%包含0个或多个字符的任意字符_(下划线)任意1个字符那ElasticSearch中模糊查询是什么呢,我们知道term是精确查询,有的地方说match是原创 2020-08-20 21:54:57 · 25327 阅读 · 4 评论 -
ElasticSearch:_update_by_query/_delete_by_query 根据条件修改/删除指定字段的值
最近发现es中有错误数据,某些索引下的字段标识是反的,想要直接根据条件修改指定字段的值比如es中有一批电脑,每台电脑都自带很多参数(厂家、内存、CPU型号、长宽高等),索引是电脑自己的标识,我想把所以联想的数据中,酷睿i7的电脑,性能标识从中等改为高级可以使用_update_by_query修改,Java es API中对应的是 UpdateByQueryRequestBuilder实现上面的例子:POST 电脑索引/_update_by_query{ "query": { "bool":原创 2020-08-16 15:12:35 · 3083 阅读 · 0 评论 -
Elasticsearch原理入门
这是一篇拼接贴,我是缝合怪项目中用到了es,使用方法是挺简单的,封装了基本api以后,把查询条件封装一下传给client执行就可,但是光使用比较肤浅,研究一下原理和本质,更利于以后开发使用扫盲贴「扫盲」Elasticsearch3y的简单入门介绍倒排索引聊聊 Elasticsearch 的倒排索引“倒排索引“”这个翻译坑人的样子,和“双亲委派”有的一拼,说成反向索引好点正向索引:常规的索引是文档到关键词的映射:文档——>关键词反向索引:倒排索引是关键词到文档的映射:关键词——&g原创 2020-06-12 14:38:11 · 179 阅读 · 1 评论 -
Elasticsearch去重查询/过滤重复数据(聚合)
带家好,我是马儿,这次来讲一下最近遇到的一个问题我司某个环境的es中被导入了重复数据,导致查询的时候会出现一些重复数据,所以要我们几个开发想一些解决方案,我们聊了聊,相出了下面一些方案:1.从源头解决:导入数据时进行唯一性校验2.从数据解决:清洗数据,将重复的数据查出后清理,然后入库3.从查询解决:查询时筛选重复数据我就从查询着手,找到了聚合查询的方法聚合(Aggregations)聚合功能为ES带来了统计分析的能力,类似于SQL语言中的group by,avg,sum等函数桶(Bucke原创 2020-06-16 11:10:36 · 27299 阅读 · 10 评论 -
Elasticsearch聚合后分页
早上写了一篇Elasticsearch去重查询/过滤重复数据(聚合)但是没写分页实现,因为网上和书上暂时没查到什么方便又好的聚合后分页方式,不是我故意不写的之前也看了下面这篇文章Elasticsearch聚合后分页深入详解文章里面说了,es本身不支持分页,因为性能和正确性得不到保障,作者提供了一个方法,属于笨方法,就是把聚合后的数据全存入内存中,例如放List中,然后自己根据分页参数(偏移量和页大小),使用List中的方法subList来截取数据ps:笨方法:就比如做算法题,虽然能用暴力求解,原创 2020-06-16 11:55:59 · 2754 阅读 · 4 评论 -
Elasticsearch:服务器部署es内存分配比例&内存溢出问题
1.问题:在部署Elasticsearch的时候,有一台128g左右的机器,有两套es起初分配给es各64g,但是会出现内存溢出问题2.错误原因:参考了一些大佬的文章,如下ES是JAVA应用底层存储引擎是基于Lucene的ES内存那点事官网推荐给Elasticsearch分配的内存不能超过32GB(小于32GB时会启用compressed oops,节省很多内存)并且还必须是小于物理内存的50%,以便为Lucene利用Cached Memory提供更多的剩余内存。Elasti原创 2020-07-30 14:10:36 · 2724 阅读 · 0 评论 -
ElasticSearch:text和keyword的区别、fileds作用、mappings结构对查询的影响
问题今天遇到一个问题,一样的代码,在a,b两个环境里运行结果不同,一样的es查询语句,b环境查询结果为空排查了一下,发现数据也有,就是使用term匹配某个字段时查不到结果,因为之前遇到过类似问题,通过加.keyword解决,这次一试,发现也能出结果了,所以要研究一下原因转载请查看以下链接https://segmentfault.com/q/1010000017312707原文↓↓1.ES5.0及以后的版本取消了string类型,将原先的string类型拆分为text和keyword两种类型。它原创 2020-08-10 15:57:14 · 5603 阅读 · 0 评论