es
佟印龙
这个作者很懒,什么都没留下…
展开
-
使用Hive或Impala执行SQL语句,对存储在Elasticsearch中的数据操作
摘要:使用Elasticsearch-SQL可以对存储在Elasticsearch中的数据执行简单的SQL查询操作,然而并不支持多表join等联接查询。Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的SQL查询功能,可以将SQL语句转换为MapReduce任务进行运行。因此如果Hive可以从Elasticsearch中取数据,并结合Hive的SQL查询功能,便能做到较为复杂的SQL查询操作。我们的目标是:支持Elasticsearch多表联接查原创 2021-11-26 15:49:31 · 596 阅读 · 0 评论 -
es 三类聚合
主要查看7.10 的官方文档,早期是4个分类,别大意啊!分桶 Bucket 聚合根据字段值,范围或其他条件将文档分组为桶(也称为箱)。指标 Metric 聚合从字段值计算指标(例如总和或平均值)的指标聚合。管道 Pipeline 聚合子聚合,从其他聚合(而不是文档或字段)获取输入。...原创 2021-11-15 16:19:51 · 1353 阅读 · 0 评论 -
Elasticsearch 如何自定义读取 mysql 词库?
Elasticsearch 实战项目中势必会用到中文分词,而中文分词器的选型包含但不限于如下开源分词器:IK 分词器https://github.com/medcl/elasticsearch-analysis-ikAnsj 分词器https://github.com/NLPchina/elasticsearch-analysis-ansjjieba 分词器https://github.com/sing1ee/elasticsearch-jieba-plugin清华大学 thulac 分词器原创 2021-11-15 14:04:22 · 289 阅读 · 0 评论 -
研究探讨elasticsearch 高cpu问题
首先要阐述一个观点,任何技术都是为解决某一个领域的问题而存在的,我们在使用它的时候,尽可能使用它的优势(亮点),去发挥它应具备的业务价值。es在很多公司应用非常广泛,它已经成为玩大数据的必备的技能,在之前的章节我吐槽过es写方面的问题,今天将吐槽下es查询-terms语法的那些坑,这里探讨两点:一个是多terms并发带来高CPU,另一个是terms使用不当会导致bug。业务场景我们基于门店+商品做了一个业务上的大宽表,有各种维度的查询,需要分页,比如按商品的采购组织、采购组、商品的类别(部类-大类-中类原创 2021-11-15 11:01:11 · 903 阅读 · 0 评论 -
es的_source ,index,store学习。 在性能和空间上取舍
一._score字段存储的原始数据。_source中的内容就是搜索api返回的内容,如:默认情况下,Elasticsearch里面有2份内容,一份是原始文档,也就是_source字段里的内容,我们在Elasticsearch中搜索文档,查看的文档内容就是_source中的内容。另一份是倒排索引,倒排索引中的数据结构是倒排记录表,记录了词项和文档之间的对应关系。二.index字段index使用倒排索引存储的是,分析器分析完的词和文档的对应关系。如图:文档索引到Elasticsearch的时候,默原创 2021-11-05 19:34:53 · 1835 阅读 · 1 评论 -
es 判断空字符串字段 ,null 值
package com.xx.utils;import com.alibaba.fastjson.JSON;import com.alibaba.fastjson.JSONArray;import com.gtcom.config.RestClientConfig;import lombok.extern.slf4j.Slf4j;import org.elasticsearch.action.bulk.BulkItemResponse;import org.elasticsearch.acti原创 2021-11-05 16:23:20 · 2184 阅读 · 0 评论 -
srping boot es 聚合 字段工具类
/*** * 聚合字典 字段 * @return */ public void aggData(String aggFiled) throws IOException { SearchSourceBuilder query = new SearchSourceBuilder(); // 根据会议id进行分组 TermsAggregationBuilder topBuilder=AggregationBuilders.te原创 2021-11-05 10:19:17 · 155 阅读 · 0 评论 -
es 7.0 工具类
import com.alibaba.fastjson.JSON;import com.alibaba.fastjson.JSONArray;import com.alibaba.fastjson.JSONObject;import lombok.extern.slf4j.Slf4j;import org.apache.lucene.search.join.ScoreMode;import org.elasticsearch.action.ActionListener;import org.e.原创 2021-11-04 17:23:28 · 645 阅读 · 3 评论 -
es updateByQuery 学习使用
这个api 一般在生产是被禁用的,首先创建索引PUT /tyl_2021{ "mappings": { "properties": { "title":{"type": "text"}, "name":{"type": "text"}, "age":{"type": "integer"}, "created":{ "type": "date", "format": "strict_date_optional_t原创 2021-11-04 17:17:55 · 5246 阅读 · 2 评论 -
SpringBoot 集成多个 Elasticsearch 集群 bean
1.SpringBoot 项目首先在 pom.xml 中添加 ES 客户端依赖,这里 SpringBoot 使用的是 2.5.3 版本,默认会引入 ES 7.12.1 版本客户端,所以这里没有写版本号:<dependency> <groupId>org.elasticsearch.client</groupId> <artifactId>elasticsearch-rest-high-level-client</artifactId&原创 2021-11-03 19:12:26 · 558 阅读 · 0 评论 -
ES 安装 elasticsearch-sql插件
1、查看sql插件githubhttps://github.com/NLPchina/elasticsearch-sql2、安装1、cd elasticsearch #进入目录2、./bin/elasticsearch-plugin install https://github.com/NLPchina/elasticsearch-sql/releases/download/5.4.3.0/elasticsearch-sql-5.4.3.0.zip3、下载SQL的Serverwget原创 2021-11-03 14:30:33 · 1638 阅读 · 1 评论 -
es sql 集成 jdbc
使用 es jdbcpublic void testJDBC() throws Exception { Properties properties = new Properties(); properties.put("url", "jdbc:elasticsearch://127.0.0.1:9300/" + TestsConstants.TEST_INDEX); DruidDataSource dds = (DruidDataSource) Elasti原创 2021-11-03 14:13:13 · 219 阅读 · 0 评论 -
SpringBoot+Mybatis+Elasticsearch整合方案
1. 前言ES作为一个搜索工具,寄托于Lucene之上,提供了方便的数据存储和搜索服务,一般的用它来作为网页数据索引以及存储用户画像(即用户标签)数据,可以提供复具有复杂的查询条件的服务。例如在网页索引中,通过倒排的方式索引的方式,对文档进行分词存储,可以很快的定位关键字所在的文档,从而达到毫秒级的搜索效率;而在用户画像存储中,ES既可以作为标签宽表,提供类似HIVE宽表的特性,又可以达到传统关系型数据库或者HBase的实时查询的要求,所以在一般的用户画像存储中也是不二之选。ES是一个搜索工具,它提供的原创 2021-11-03 14:02:13 · 4210 阅读 · 1 评论 -
ES 向量检索 dense_vector 类型(官方文档没有这个介绍。)
ES 7.X 版本引入了向量类型dense_vector,用于存储浮点类型的密集向量,其最大维度为2048。其用作是可以将待查询向量和文档内存储向量之间的距离作为查询评分使用,即越相似的向量评分越高。使用方式为在 query 的script_score中指定向量的计算方式,具体有四种:cosineSimilarity – 余弦函数dotProduct – 向量点积l1norm – 曼哈顿距离l2norm - 欧几里得距离创建含有dense_vector的索引用于测试,建表如下:PUT cast原创 2021-10-28 10:40:16 · 1655 阅读 · 0 评论 -
es远程分词器代码
@RequestMapping("bbb") public void bbb(HttpServletResponse httpServletResponse) { SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); httpServletResponse.setDateHeader("Last-Modified",System.currentTimeMillis()+1); ..原创 2021-10-15 19:33:00 · 177 阅读 · 0 评论 -
es java api 进行聚合+桶聚合查询
假设1个member有多个参加的meeting(会议),每个meeting可多次参加,每次参加对应一条参加时间和备注记录需求: 获取某个member的所有meeting的最新一条记录查询语句{ "query": { "term": { "memberid": "2136476" } }, "aggs": { "group": { "terms": { "field": "meetingid", "order":原创 2021-10-11 11:00:18 · 849 阅读 · 0 评论 -
Elasticsearch系列---生产集群重启问题
如果我们的Elasticsearch集群做了一些离线的维护操作时,如扩容磁盘,升级版本等,需要对集群进行启动,节点数较多时,从第一个节点开始启动,到最后一个节点启动完成,耗时可能较长,有时候还可能出现某几个节点因故障无法启动,排查问题、修复故障后才能加入到集群中,此时集群会干什么呢?假设10个节点的集群,每个节点有1个shard,升级后重启节点,结果有3台节点因故障未能启动,需要耗费时间排查故障,如下图所示:整个过程步骤如下:集群已完成master选举(node6),master发现未加入集群的no原创 2021-09-10 17:32:48 · 686 阅读 · 1 评论 -
Elasticsearch boost的搜索条件权重
搜索标题中包含java的帖子,同时呢,如果标题中包含hadoop或elasticsearch就优先搜索出来,同时呢,如果一个帖子包含java hadoop,一个帖子包含java elasticsearch,包含hadoop的帖子要比elasticsearch优先搜索出来知识点,搜索条件的权重,boost,可以将某个搜索条件的权重加大,此时当匹配这个搜索条件和匹配另一个搜索条件的document,计算relevance score时,匹配权重更大的搜索条件的document,relevance score会原创 2021-02-22 11:18:10 · 411 阅读 · 0 评论 -
Elasticsearch 面试收集学习
目录1、elasticsearch 了解多少,说说你们公司 es 的集群架构,索引数据大小,分片有多少,以及一些调优手段 。2、elasticsearch 的倒排索引是什么3、elasticsearch 索引数据多了怎么办,如何调优,部署4、elasticsearch 是如何实现 master 选举的5、详细描述一下 Elasticsearch 索引文档的过程6、详细描述一下 Elasticsearch 搜索的过程?7、Elasticsearch 在部署时,对 Linux 的设置有哪些优化方法原创 2020-12-07 20:59:27 · 157 阅读 · 0 评论