elasticsearch
talen_hx296
80后老码农,在技术的海洋里,慢慢进行.
主要在JAVA和golang,大数据和云原生领域深耕,架构方面工作
16年一线研发经验,3年架构经验,曾任职世界百强企业IBM资深工程师
展开
-
Elasticsearch 索引模板
Elasticsearch 索引模板原创 2023-01-28 16:02:15 · 1317 阅读 · 0 评论 -
golang语言中简单操作es几个例子
使用库(olivere/elastic/v7)操作es。1、初始化es操作客户端。2、使用must查询数据。4、查询后,根据字段排序。原创 2022-11-10 19:35:32 · 1772 阅读 · 0 评论 -
数据清洗-使用es的ingest
通常es产品里面,数据清洗的logstash,这里使用另外的ingest做简单的数据处理。还可以使用ScriptPrcessor,这种自由度更大,可以处理稍微复杂点数据。这里是根据逗号分隔数据,变成数组。原创 2022-07-24 10:11:37 · 718 阅读 · 0 评论 -
es使用collapseBuilder去重和只返回某个字段
去重 指定字段原创 2022-06-28 19:49:37 · 2813 阅读 · 0 评论 -
es 聚合查询,cardinality 去重
SearchRequest searchRequest = new SearchRequest("order");SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();BoolQueryBuilder boolQueryBuilder = new BoolQueryBuilder();boolQueryBuilder.must(QueryBuilders.matchQuery("userCode", userCode).原创 2022-05-12 19:27:55 · 1188 阅读 · 0 评论 -
go写es简单例子
package mainimport ( "context" "fmt" "github.com/olivere/elastic/v7")type Person struct { Name string `json:"name"` Age int `json:"age"` Married bool `json:"married"`}func main() { client, err := elastic.NewClient(elastic.SetUR.原创 2022-04-07 10:56:13 · 348 阅读 · 0 评论 -
es更新部分字段-java实现
POST esindex/_doc/id/_update{ "script" : "ctx._source.bussinesData.remark='test'",}es的restful接口 UpdateRequest updateRequest = new UpdateRequest(dto.getEsIndex(), dto.getId()); Map<String, Object> params = new HashMap<String, Object>(.原创 2022-03-12 18:18:40 · 5234 阅读 · 0 评论 -
es分组后,过滤符合条件数量的记录
GET es-index/_search{ "size": 0, "aggs": { "group_by_data_domain": { "terms": { "field": "data.domain.keyword" }, "aggs": { "count_domain": { "bucket_selector": { "buckets_path": { .原创 2022-02-21 21:53:26 · 2814 阅读 · 0 评论 -
es聚合统计查询
#基数统计GET kibana_sample_data_ecommerce/_search{ "size": 0, "aggs": { "customer_id_card": { "cardinality": { "field": "customer_id", "precision_threshold": 80 } } }}#字段数量统计GET kibana_sample_data_ecommerce/_sea...原创 2022-01-15 12:21:02 · 1462 阅读 · 0 评论 -
es的searchtemplate简单使用
POST _scripts/kibana-flight{ "script": { "lang": "mustache", "source": { "_source": [ "Dest","DestRegion" ], "size": 20, "query": { "multi_match": { "query": "{{q}}", "fields": ["Dest",...原创 2022-01-08 18:50:03 · 701 阅读 · 0 评论 -
es 单字符串多字段查询 multi_match
1.best_fieldsGET /kibana_sample_data_flights-1227/_search{ "query": { "multi_match": { "query": "Sydney Kingsford", "type": "best_fields", "fields": [ "Dest", "DestCityName" ] } }}2.most_fields.原创 2022-01-06 21:44:58 · 918 阅读 · 0 评论 -
es 单字符串多字段查询(Dis_Max_Query)
只提供一个输入框,查询相关的多个字段,使用DisjunctionMaxQuery --- 最佳字段查询,tie_breaker参数调整POST kibana_sample_data_flights-1227/_search{ "query": { "dis_max": { "tie_breaker": 0.7, "boost": 1.2, "queries": [ { "match": { "原创 2021-12-29 23:39:28 · 1139 阅读 · 0 评论 -
es的bool查询
es的bool查询原创 2021-12-27 21:50:10 · 5603 阅读 · 0 评论 -
es的query查询(term,prefix,exists,match,matchprase,range)
//查询前缀包含的内容POST /products/_search{ "query": { "prefix": { "desc.keyword": { "value": "iP" } } }}POST /products/_search{ "query": { "term": { "productID.keyword": "XHDK-A-1293-#fJ3" } }}//不查询为空的数据.原创 2021-12-25 21:36:31 · 3649 阅读 · 1 评论 -
es Dynamic mapping的机制和内置analyzers
Dynamic mapping的机制,使得无需手动定义mappings,es会自动根据文档信息,推算出字段类型,但这也存在不好的地方,无法控制结构。如果将Dynamic设置为true,mapping会被更新,如果设置为false,mapping 不会被更新,但信息会存储在_source中,如果设置为Strict,文档写入失败(strict_dynamic_mapping_exception)自带的char_filter:html_strip、mapping、pattern replacemen.原创 2021-12-15 23:32:15 · 1055 阅读 · 0 评论 -
es的query-string和simple-query-string
GET kibana_sample_data_flights/_search{ "query": { "query_string": { "default_field": "OriginCityName", "query": "Frankfurt and Airport" } }}GET kibana_sample_data_flights/_search{ "query": { "query_string": { "fiel...原创 2021-12-09 23:36:52 · 1791 阅读 · 0 评论 -
es的URI Search详解
#泛查询GET kibana_sample_data_flights/_search?q=2021{ "profile": true}#指定字段查询GET kibana_sample_data_flights/_search?q=timestamp:2021{ "profile": true}#布尔操作符GET /kibana_sample_data_flights/_search?q=Dest:(Sydney AND Mind){ "profile": "true"}...原创 2021-12-07 23:37:07 · 539 阅读 · 0 评论 -
elasticsearch实战-2
一、基础数据类型string类型:keyword,text,text可以来用进行分词查询 数字类型:long,integer,short,byte,double,float,half_float,scaled_float 时间类型:date booleano类型:boolean 二进制类型:binary 区间类型:integer_range,float_range,long_range,double_range,date_range二、复杂类型数组类型 对象类型object nest原创 2021-08-30 11:20:40 · 135 阅读 · 0 评论 -
elasticsearch实战-1
URL中不指定index和type GET _mget{ "docs": [ { "_index": "yu-company-003", "_id": 1 }, { "_index": "yu-company-003", "_id": 2 } ]} URL中指定index GET /yu-company-003/_mget{ "docs": [ { "_id": 2原创 2021-08-30 10:59:43 · 80 阅读 · 0 评论 -
搭建elasticsearch7.14.0的源码环境
基本搭建可参考搭建elasticsearch7.11.2的源码环境这里说说不同点首先要用jdk16版本,可自行下载或elasticsearch里面也自带了jdk其次在 security.policy 文件里面,要7.11.2的基础上,多加permission org.elasticsearch.secure_sm.ThreadPermission "modifyArbitraryThreadGroup";permission org.elasticsearch.secure_sm.Thr原创 2021-08-10 09:51:35 · 406 阅读 · 0 评论 -
搭建elasticsearch7.11.2的源码环境
一、首先下载elasticsearch源码,从github上下载,本次下载版本为7.11.2,地址为https://github.com/elastic/elasticsearch.git二、下载软件elasticsearch软件,本次版本为7.11.2,配置gradle,版本最好是6.1以上,本次版本为6.8.3,然后配置gradle环境变量GRADLE_HOME(gradle的软件目录),GRADLE_USER_HOME(gradle项目依赖的lib包下载目录)三、elasticsearch原创 2021-08-10 09:50:34 · 445 阅读 · 0 评论