elasticsearch
文章平均质量分 87
C18298182575
跳出舒适区
展开
-
es 的分布式架构原理
面试题es 的分布式架构原理能说一下么(es 是如何实现分布式的啊)?面试官心理分析在搜索这块,lucene 是最流行的搜索库。几年前业内一般都问,你了解 lucene 吗?你知道倒排索引的原理吗?现在早已经 out 了,因为现在很多项目都是直接用基于 lucene 的分布式搜索引擎—— ElasticSearch,简称为 es。而现在分布式搜索基本已经成为大部分互联网行业的 Java 系统的标配,其中尤为流行的就是 es,前几年 es 没火的时候,大家一般用 solr。但是这两年基本大部分转载 2022-01-15 19:44:10 · 315 阅读 · 0 评论 -
使用scroll实现Elasticsearch数据遍历和深度分页
作者:星爷出处:使用scroll实现Elasticsearch数据遍历和深度分页声明:转载请注明作者及出处。背景Elasticsearch 是一个实时的分布式搜索与分析引擎,被广泛用来做全文搜索、结构化搜索、分析。在使用过程中,有一些典型的使用场景,比如分页、遍历等。在使用关系型数据库中,我们被告知要注意甚至被明确禁止使用深度分页,同理,在 Elasticsearch 中,也应该尽量避免使用深度分页。这篇文章主要介绍 Elasticsearch 中使用分页的方式、Elasticsearch .转载 2022-01-06 12:50:07 · 743 阅读 · 0 评论 -
图解 Elasticsearch 写入流程
「干货」图解 Elasticsearch 写入流程【图文】_zhenghhgz_51CTO博客请访问原文整体上看,Client 向 ES 发送写请求,es 接收数据,写入磁盘文件,返回响应给 Client 写入成功,这样就完成了。然后拉近看一下,看看内部都做了什么工作。2. ES 整体结构ES 集群里面有多个 Server 节点,一个 ES Index 有多个 shard 分片,每个 shard 有多个副本。其中有一个 primary 主副本,负责写入,其他副本为 replica转载 2022-01-06 10:17:31 · 821 阅读 · 0 评论 -
ES Search After 分页查询
需求分析,如上图对基金经理数据进行分页查询,并可根据年化回报率,综合得分进行排序Seach After 两点比较重要:排序字段 排序字段值1.排序字段一定要包含唯一值字段,即不重复,可用es自带id,因为排序的原理,类似数据库深度分页,条件包含上一页最后一条数据ID,效率比较高,同理要把这个唯一值作为下一页查询条件2.如果没有业务相关的排序字段(无上年化回报,综合得分)怎么查询排序字段默认为es默认_id,且倒序,srollId作为下页查询条件3.查询包含业务条件时,需要注意排...原创 2021-12-20 17:10:12 · 5028 阅读 · 1 评论 -
Elasticsearch系列——(1.1)倒排索引原理
关于es为什么搜索快,大家应该有所了解,但是到底什么是倒排索引?网上找到一篇介绍通俗易懂,转载如下: 见其名知其意,有倒排索引,对应肯定,有正向索引。 正向索引(forward index),反向索引(inverted index)更熟悉的名字是倒排索引。 在搜索引擎中每个文件都对应一个文件ID,文件内容被表示为一系列关键词的集合(实际上在搜索引擎索引库中,关键词也已经转换为关键词ID)。例如“文档1”经过分词,提取了20个关键词,每个关键词都会记录它在文档中的出现次数和出现...转载 2021-12-20 15:36:38 · 3430 阅读 · 0 评论 -
Elasticsearch分布式架构原理
Elasticsearch用于构建高可用和可扩展的系统。扩展的方式可以是购买更好的服务器(纵向扩展(vertical scale or scaling up))或者购买更多的服务器(横向扩展(horizontal scale or scaling out))。Elasticsearch虽然能从更强大的硬件中获得更好的性能,但是纵向扩展有它的局限性。真正的扩展应该是横向的,它通过增加节点来均摊负载和增加可靠性。对于大多数数据库而言,横向扩展意味着你的程序将做非常大的改动才能利用这些新添加的设备。对比来转载 2021-12-20 13:41:05 · 234 阅读 · 0 评论 -
es 的分布式架构原理
在搜索这块,lucene 是最流行的搜索库。几年前业内一般都问,你了解 lucene 吗?你知道倒排索引的原理吗?现在早已经 out 了,因为现在很多项目都是直接用基于 lucene 的分布式搜索引擎—— ElasticSearch,简称为 es。而现在分布式搜索基本已经成为大部分互联网行业的 Java 系统的标配,其中尤为流行的就是 es,前几年 es 没火的时候,大家一般用 solr。但是这两年基本大部分企业和项目都开始转向 es 了。所以互联网面试,肯定会跟你聊聊分布式搜索引擎,也就一定会聊聊转载 2021-12-20 13:25:10 · 152 阅读 · 0 评论 -
Elasticsearch系列——实战探索text与keyword的区别
Elasticsearch系列——实战探索text与keyword的区别原创前方一片光明 最后发布于2018-08-22 17:36:07 阅读数 8809 收藏展开前言本文使用的工具是kibana(Linux---Kibana的安装与测试)在elasticsearch2.x 版本,字符串数据只有string类型ES更新到5版本后,取消了 string 数据类型,代替它的是 keyword 和 text 数据类型那么 text和keyword有什么区别呢?我们通过下面的步骤来探...转载 2020-03-18 14:29:06 · 204 阅读 · 0 评论 -
记录es几个问题,增删改查,索引创建
一,【es技术】es依赖,版本号存在版本匹配问题?为什么high level版本是 7.6.2bulkIndex 底层分批二,【should must filter matchQuery termQuery 区别联系】BoolQueryBuilder queryBuilder = buildQueryBuilder()should must filter 属于BoolQueryBuilder方法,相当于父层级,方法入参:QueryBuilder 。相当于:and ormatchQuery原创 2021-07-02 16:21:15 · 570 阅读 · 0 评论 -
elasticsearch查询QueryBuilders详解(es7.80)
目录1 QueryBuilders.matchQuery(“supplierName”,param)2 QueryBuilders.matchPhraseQuery(“supplierName”,param)3 QueryBuilders.matchPhrasePrefixQuery(“supplierName”,param)4 QueryBuilders.termQuery(“supplierName”,param)5 QueryBuilders.wildcardQuery(“supp转载 2021-06-23 15:00:23 · 1709 阅读 · 0 评论 -
es分词查询与模糊查询
1,目标实现es分词查询与模糊查询2.关于分词文章参考以下连接https://www.cnblogs.com/zlslch/p/6440373.html3.索引字段定义商品名称定义了中文分词器,因为名称为中文组成可以进行分词查询商品编码定义精确查询"product_name": {"type": "text","fields": {"keyword": {"type": "keyword"},"maxword": {"analyzer": "ik_max_wor.原创 2020-09-11 10:17:39 · 4074 阅读 · 0 评论 -
es java 实现should must filter组合查询
三种属于一个层级,一般must filter放在一个boolQuery中,should放在另外一个新的boolQuery中。如下: @Override @SneakyThrows public List<ResProductInfoVOPage> getDetailInfoByGroupAndBigMidCategoryCode(ReqProductInfoVO req) { SearchRequest searchRequest = new Searc原创 2020-09-10 16:12:41 · 4064 阅读 · 0 评论 -
es 报表聚合,分组,求和,排序,合计,分页等综合应用
一,最终实现:查询条件及查询结果如下图所示需要实现:分组,求和,聚合后排序,总计,分页二, 需求分析:关于分组维度es数据主键为:日期(年月日)+采购组织+采购组+门店统计维度:可根据是否选择门店,按日或按月统计可分为四种情况日+采购组织+采购组;采购组织+采购组;日+采购组织+采购组+门店;月+采购组织+采购组+门店;按正常es多条件分组求和处理方式很麻烦,可参考网上写法。可以转变思路,把每个维度拼接成一个字段,即新增四个字段,多条件分组统计转化为单条件分组统计,实现起..原创 2020-08-18 18:14:33 · 2683 阅读 · 0 评论 -
测试es from size error,from + size must be less than or equal to: [10000]异常问题
测试案例1,查询第三页每页3334{"page":3,"size":3334}2,查询第一页,每页100001{"page":1,"size":100001}3,查询第26页,每页200条{"page":26,"size":200}以上查询都会报异常。控制方案如何控制发生异常,常见如控制每页数量不大于10000,但是如情况1,3还是会发生异常。1,可能会问,es默认最大查询量10000,每页小于10...原创 2020-05-24 15:09:02 · 2413 阅读 · 0 评论 -
【ElasticSearch】(七)浅析search_after 及 from&size,scroll,search_after性能分析
一、"search_after"是什么?“search_after”是用于查询的dsl,可以起到类似"from & size"分页作用的结构化查询,代码展示如下:GET twitter/_search{ "size": 10, "query": { "match" : { "title" : "elasticsearch" } }, "search_after": [1000], "s...转载 2020-05-24 14:31:41 · 1330 阅读 · 0 评论 -
es分页方式search_after
三种分页方式1,from size2,scroll分页3,使用 search_after 进行分页对比使用search_after 进行分页 相比from&size的方式要更加高效,而且在不断有新数据入库的时候仅仅使用from和size分页会有重复的情况相比使用scroll分页,search_after可以进行实时的查询不过search_after不适合跳跃式的分页注意事项1,类似mysql limit offset size,进行分页查询时,取上一页最后一条数据的索原创 2020-05-24 14:28:44 · 1889 阅读 · 2 评论 -
如何合理分配Elasticsearch的分片和副本
转载自 :https://blog.csdn.net/alan_liuyue/article/details/79585345大多数ElasticSearch用户在创建索引时通用会问的一个重要问题是:我需要创建多少个分片?在本文中, 我将介绍在分片分配时的一些权衡以及不同设置带来的性能影响. 如果想搞清晰你的分片策略以及如何优化,请继续往下阅读.为什么要考虑分片数分片分配是个很重要的概念, 很多用户对如何分片都有所疑惑, 当然是为了让分配更合理. 在生产环境中, 随着数据集的增...转载 2020-05-13 10:10:55 · 510 阅读 · 0 评论 -
SpringBoot 操作 ElasticSearch 详解(万字长文)
超级小豆丁匠心零度4天前点击上方“匠心零度”,选择“设为星标”做积极的人,而不是积极废人来源:rrd.me/gBaFy一、ElasticSearch 简介1、简介ElasticSearch 是一个基于 Lucene 的搜索服务器。它提供了一个分布式多员工能力的全文搜索引擎,基于 RESTful web 接口。Elasticsearch 是用 Java 语言开发...转载 2020-04-30 08:58:17 · 316 阅读 · 0 评论 -
es index keyword和text java查询实现
public List<ReqProductInfoEsVo> searchProductInfoByKey(ReqProductSearchVO vo) { SearchRequest searchRequest = new SearchRequest(EsOperateTables.BASE_PRODUCT_INFO_SAP.getValue()); Search...原创 2020-03-18 15:31:40 · 1378 阅读 · 0 评论 -
ES_BoolQueryBuilder
原文:https://www.cnblogs.com/wpjzh/p/12190543.htmlBoolQueryBuilder qb = QueryBuilders.boolQuery();1,qb.must(QueryBuilder queryBuilder); //返回的文档必须满足must子句的条件,并且参与计算分值2,qb.mustNot(QueryBuilder quer...转载 2020-03-18 10:20:11 · 2059 阅读 · 0 评论 -
什么是 Elasticsearch?一篇搞懂
请访问原文:https://mp.weixin.qq.com/s/xYN3qGzKGq3agzNhS3H-6g以下文章来源于Java3y,作者Java3yJava3y一个坚持原创的Java技术公众号前言不知道大家的公司用Elasticsearch多不多,反正我公司的是有在用的。平时听同事们聊天肯定避免不了不认识的技术栈,例如说:把数据放在引擎,从引擎取出数据等等...转载 2020-01-17 18:42:28 · 474 阅读 · 0 评论 -
记录一次es写入操作
场景:同步商品数据到es注意事项:1,es不能保存BigDecimal类型数据需要先转化为String类型2,id,在此商品编码作为id3,es类型怎么处理,es类型相当于数据库表名称,默认类型为:type_indexIndexRequest(String index, String type, String id)4,字段格式,es字段名称格式需要把驼峰处理成下划线间...原创 2020-01-10 15:53:15 · 2011 阅读 · 1 评论 -
记录一次es商品门店查询,关键字SearchSourceBuilder
SearchSourceBuilder使用说明参考:https://www.cnblogs.com/reycg-blog/p/9946821.html@Overridepublic List<String> baseProductShopNotExistEsSearch(ReqBaseProductShopPageEsQueryVO reqVO) { try { ...原创 2020-01-03 18:36:38 · 13732 阅读 · 0 评论 -
记录一次es商品模糊查询
es商品模糊查询案例1,需求及背景:根据商品编码或者名称模糊查询,之前走数据库,根据名称查询较慢,现在走es2,代码逻辑:先判断编码查询还是名称查询,查询逻辑不一样2.1,编码查询:查询商品编码或条码,termQuery全量匹配,prefiexQuery前缀匹配,should类似or,四个条件满足一个就行,过滤部类minimumShouldMatch:详解:https:...原创 2020-01-03 14:47:48 · 790 阅读 · 0 评论 -
记录一次es head测试使用说明
es head测试1,页面base_product_info_sap_v3 分片,总共三个分片,相当于数据库type_base_product_info_sap_sap_alias,相当于表2,测试用例:531644 安心妈妈婴儿浴盆A_1163535908 奥地利萨尔斯堡精选榛子华夫/红400G3,测试结果:query_string:名称:中文分词查询;编码:精确匹...原创 2020-01-03 14:46:15 · 641 阅读 · 0 评论 -
ElasticSearch查询 第四篇:匹配查询(Match)
请访问原文:https://www.cnblogs.com/ljhdo/p/4577065.html《ElasticSearch查询》目录导航:ElasticSearch查询 第一篇:搜索API ElasticSearch查询 第二篇:文档更新 ElasticSearch查询 第三篇:词条查询 ElasticSearch查询 第四篇:匹配查询(Match) ElasticSearc...转载 2020-01-03 14:34:08 · 481 阅读 · 0 评论 -
elasticsearch(七)java 搜索功能Search Request的介绍与使用
目录1,首先创建主搜索请求:2,对主搜索请求进行参数设置前端几节都是介绍的基于单个文档或着单个文档库的操作,本节开始将介绍基于所有或指定的任何个数文档库的操作的apiSearchRequest用于与搜索文档、聚合、定制查询有关的任何操作,还提供了在查询结果的基于上,对于匹配的关键词进行突出显示的方法。1,首先创建搜索请求对象:S...转载 2019-12-30 17:34:21 · 162 阅读 · 0 评论 -
docker-rabbitmq
一,rabbitmq单播根据路由键绝对匹配广播与路由键无关发到所有队列发布订阅根据路由键模糊匹配,发到符合要求队列二,elasticsearch加速镜像失败docker run -e ES_JAVA_OPTS="-Xms256m-Xmx256n" -d -p 9200:9200 -p 9300:9300 --name ES01d0b291d7093bdo...原创 2019-08-18 14:54:55 · 183 阅读 · 0 评论