![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
elasticsearch
文章平均质量分 60
本专栏主要记录自己学习研究elasticsearch的历程
箭飞天
这个作者很懒,什么都没留下…
展开
-
ES从入门到不能放弃
本文主要是ES的简介,回答"ES是什么"这个问题原创 2019-10-29 15:46:57 · 248 阅读 · 0 评论 -
ES数据建模最佳实践
文章目录什么是数据建模建模三过程建模考虑点功能需求性能需求如何对字段进行建模字段类型搜索聚合及排序存储最佳实践Dynamic 避免过多字段避免wildcard查询其他Demo参考什么是数据建模数据建模是对真实世界进行描述的一种工具和方法,实现对现实世界的映射建模三过程概念模型逻辑模型数据模型(第三范式)建模考虑点功能需求是否需要被搜索是否需要聚合性能需求主分片数字段是否需要存储在磁盘上如何对字段进行建模字段类型Text全文搜索默认不支持聚合分析及排序。需要原创 2020-05-10 15:38:36 · 703 阅读 · 0 评论 -
scripting-painless
支持 Java 及 Java 子集6.0开始,不支持 Python,JS、Groovy等高性能,安全访问字段上下文语法Ingestctx.field_nameUpdatectx._source.field_nameSearch && Aggregationdoc[“field_name”]...原创 2020-05-08 12:15:15 · 282 阅读 · 0 评论 -
更新索引&&重建索引&&索引别名
文章目录实际场景问题索引变更索引变更期间,数据访问问题_update_by_query_reindex_alias参考实际场景问题索引变更在实际应用场景中,我们会遇到以下情况:需要修改原字段定义的类型需要增加原字段的类型,或者新增类型随着数据量变大,需要修改主分片数量需要把数据从一个集群迁移到另外一个集群以上场景,可以通过 _update_by_query 或 _reindex...原创 2020-05-05 23:36:56 · 614 阅读 · 0 评论 -
关系型数据库的范式化设计和ES的反范式化设计
关系型数据的范式化设计1NF:消除非主属性对键的部分函数依赖,不重复的列(关系型数据库的基本要求)2NF:消除非主属性对键的传递函数依赖,非主属性完全依赖于主关键字3NF:消除主属性对键的传递函数依赖,BNNF:主属性不依赖主属性范式化的问题ES的反范式化设计...原创 2020-05-05 14:09:36 · 402 阅读 · 0 评论 -
aggregation的原理及精准度问题
分布式系统的近似统计算法及方案选择在数据量大,且对精确度要求比较高时,采用Hadoop离线计算在数据量不太大,且对精确度要求不高的情况下,可以使用ESES 统计Metrics 聚合,如:min、max、avg 等可以获得精确值Bucket聚合,如:terms 只能获得近似准确值,其原因在于 Coordinating Node不知道数据全貌ES中反馈统计准确性参数doc_c...原创 2020-05-05 01:25:53 · 685 阅读 · 0 评论 -
ES实现商品广告
商品广告,涉及主要问题:广告尽可能的都有展示机会广告的展示机会均等通过 function_score 可以非常简单的做到。具体如下:GET vs_bp_goods_test_v1/_search{ "query": { "function_score": { "query": { "term": { "type": { ...原创 2020-04-27 23:43:19 · 436 阅读 · 0 评论 -
[ES笔记] multi_match
搜索的三种场景最佳字段(Best Fields)评分来自最匹配的字段多数字段(Most Fields)处理英文时,一种常见的手段是,在主字段用English Analyzer分词(提取词干,加入同义词),以匹配更多文档;同时加入子字段,用 Standard Analyzer分词,以提供更加精准的匹配。其他字段作为匹配文档提高相关度的信号。匹配字段越多则越好。混合字段(Cro...原创 2020-04-21 23:47:44 · 1329 阅读 · 0 评论 -
ES 能做什么以及如何做
相关地址jim’s ES日志 ES基础基本命令POST twitter/_doc{ "user_name":"jim", "content":"enjoy es"}POST twitter/_doc/1{ "user_name":"jack", "content":"enjoy kafka"}GET twitter/_search# 查看自动类...原创 2019-12-11 18:37:18 · 318 阅读 · 0 评论 -
[elasticsearch笔记] 跨集群&&集群&&API
# If no filters are given, the default is to select all nodesGET /_nodes# Explicitly select all nodesGET /_nodes/_all# Select just the local nodeGET /_nodes/_local# Select the elected master nod...原创 2019-07-23 14:57:20 · 612 阅读 · 0 评论 -
[elasticsearch笔记] mapping-data type 2
文章目录demo_id/ids_index_source includes/excludesfields/analyzer/filter/search_analyzercoerce (force)copy_todoc_valuesenabledfielddatadate formatignore_abovefieldsnull_valueposition_increment_gapproperti...原创 2019-07-31 16:38:17 · 185 阅读 · 0 评论 -
[elasticsearch笔记] Query DSL- distance_feature/more_like_this/rank_feature/script/wrapper query
文章目录distance_featuremore_like_thisrank_featurescriptdistance_featurePUT items{ "mappings": { "properties": { "name": { "type": "keyword" }, "production_date": { ...原创 2019-07-26 14:05:59 · 407 阅读 · 0 评论 -
[elasticsearch笔记] Query DSL - percolate
notepercolate 过滤器、抽取器percolate 中 index 存储的是query。普通的方式中index存储的是 doc应用场景:数据分类和各种自定义监控,如 数据监控,价格波动监控、天气监控、报警等demoPUT /percolator-index{ "mappings": { "properties": { "m...原创 2019-07-26 11:37:26 · 307 阅读 · 0 评论 -
[elasticsearch笔记] cat
本文是 cat api 的笔记demoGET /_cat/master?vGET /_cat/master?helpGET /_cat/nodes?vGET /_cat/nodes?helpGET /_cat/nodes?h=ip,port,heapPercent,nameGET /_cat/nodes?h=ip,port,heapPercent,name,search*&...原创 2019-07-22 14:35:48 · 284 阅读 · 0 评论 -
[elasticsearch笔记] Query DSL - span
noteSpan queries cannot be mixed with non-span queries (with the exception of the span_multi query).It is only allowed to set boost on an outer span query.demo# 查询内部会有多个子查询,但是会设定某个子查询优先级更高,作用更大...原创 2019-07-26 10:22:01 · 181 阅读 · 0 评论 -
[elasticsearch笔记] cache/flush/refresh/forcemerge/shard_stores
note本文主要包含 数据缓存、数据同步 相关APIdemoGET /kibana_sample_data_ecommerce/_shard_storesGET /kibana_sample_data_ecommerce/_search# green, yellow, redGET /_shard_stores?status=greenPOST /twitter/_cach...原创 2019-07-22 11:11:49 · 322 阅读 · 0 评论 -
[elasticsearch笔记] mapping-data type1
demo## 最开始,type被类比成数据库的table,但是lucene底层对于同一index下面相同的field(type不同)必须是要同种类型,即lucene底层会把index下所有相同的field一致对待。# 多个type不利于数据压缩# 全文检索中用于计分的词条统计会更精准#PUT my_index { "mappings": { "properties": {...原创 2019-07-30 18:30:39 · 195 阅读 · 0 评论 -
[elasticsearch笔记] Joining Queries - nested/join
note干货 | Elasticsearch Nested类型深入详解elasticsearch(lucene)使用的库没有内部对象的概念,因此内部对象被扁平化为一个简单的字段名称和值列表。为了解决这个问题,需要用到 nested,nested对象会被作为隐式对象处理。其内容不会被扁平化处理。关联 doc 必须保存于同一个分片,所以在构建 index的时候,需要添加 routing=pa...原创 2019-07-25 16:29:43 · 691 阅读 · 0 评论 -
[elasticsearch笔记] Analysis - Character Filters
noteCharacter filters are used to preprocess the stream of characters before it is passed to the tokenizer.A character filter receives the original text as a stream of characters and can transform ...原创 2019-08-02 11:53:48 · 218 阅读 · 0 评论 -
[elasticsearch笔记] 优化(updating)
网络资源搜集,待消化https://blog.csdn.net/laoyang360/article/details/97695931原创 2019-07-30 16:14:23 · 98 阅读 · 0 评论 -
[elasticsearch笔记] Analysis - Analyzer
文章目录notedemocustomstandardsimplewhitespacestopkeywordpatternfingerprintnote索引 和 搜索过程的 analyzer 应该保持一致analyzer包含:character fitlers, tokenizers, and token filterscharacter fitlers: 单词转化,过滤。analyze...原创 2019-08-01 11:54:45 · 647 阅读 · 0 评论 -
[elasticsearch笔记] Analysis - Normalizer
noteNormalizers are similar to analyzers except that they may only emit a single token.demoPUT normalizer_index{ "settings": { "analysis": { "char_filter": { "quote": { ...原创 2019-08-01 15:04:09 · 570 阅读 · 0 评论 -
[elasticsearch笔记] Analysis - Tokenizer
文章目录demostandardletterlowercasewhitespaceuax_url_emailclassicngramedge_ngramkeywordpatternchar_groupsimple_patternsimple_pattern_splitpath_hierarchydemostandardThe standard tokenizer provides gram...原创 2019-08-01 15:10:29 · 707 阅读 · 0 评论 -
[elasticsearch笔记] 聚合
准备数据accounts.json, 格式如下:{"index":{"_id":"1"}}{"account_number":1,"balance":39225,"firstname":"Amber","lastname":"Duke","age":32,"gender":"M","address":"880 Holmes Lane","employer":"Pyrami","email...原创 2019-07-03 09:27:00 · 408 阅读 · 0 评论 -
[elasticsearch笔记] Back up a cluster
note不能通过简单的复制节点数据实现备份,因为在复制数据的时候,可能集群中相关节点在写数据。可靠的备份集群的方法是使用 snapshot 和 restore 功能snapshot 是在一个运行的ES集群中生成备份,并且其备份是增量备份。备份的数据可以存储到 共享文件系统,也有插件支持把备份文件保存在S3,HDFS,Azure,Google Cloud Storage 中。GET /_...原创 2019-08-15 17:55:22 · 123 阅读 · 0 评论 -
[elasticsearch笔记]Rolling up historical data
notethis functionality is experimental时间相关性的数据随着时间的推移,其实时可访问的诉求会逐步降低,直到基本没有访问诉求所以超过一定时间的数据 rolling up 到低成本的存储设备/存储方案,是很有必要的/_rollup_search 和 /_search 可接收的 Query DSL 一样,只是支持功能上有些限制支持 live data 和 ...原创 2019-08-15 16:37:16 · 299 阅读 · 0 评论 -
Ingest Node && Pipeline && Processor
文章目录notedemo_simulatesetdrop && iffaildissectgrokuppercasenoteprocessors 详情查看ingest node 的目的在于在实际文档被索引前,预处理文档ingest node会拦截 bulk、index 请求,会执行相关操作,然后把操作结果返回给 index、bulk请求关闭 ingest node 功能...原创 2019-08-07 15:03:53 · 1157 阅读 · 0 评论 -
[elasticsearch笔记] Index Modules
文章目录File system storage typespre-loading data into the file system cacheIndex SortingFile system storage typesfs (default)simplefsniofsmmapfshybridfspre-loading data into the file system cach...原创 2019-08-07 14:49:52 · 383 阅读 · 0 评论 -
[elasticsearch笔记] SQL access
文章目录SQL JDBCAPI usageSQL LanguageSQL and multi-fieldsFunctions and OperatorsdemoSQL JDBCdependency<dependency> <groupId>org.elasticsearch.plugin</groupId> <artifactId>...原创 2019-08-09 15:35:54 · 239 阅读 · 0 评论 -
[elasticsearch笔记] Analysis - Token Filters
noteToken filters detailsToken filters accept a stream of tokens from a tokenizer and can modify tokens (eg lowercasing), delete tokens (eg remove stopwords) or add tokens (eg synonyms).demoasc...原创 2019-08-02 11:47:10 · 459 阅读 · 0 评论 -
[elasticsearch笔记]Managing the index lifecycle
索引生命周期notedemonote索引的生命周期hotwarmcolddelete如果 index.lifecycyle.indexing_complete=true, 索引不会通过 ilm policy rollover应用 ilm policy 到已有index中有两个主要问题:不能有 rollover 相关设置,因为rollover是针对新建的index的避免...原创 2019-08-08 11:58:37 · 1751 阅读 · 0 评论 -
docker-compose 安装 ES集群及ELK等相关软件
本文介绍通过 docker-compose 构建 ES 集群及ELK等相关软件。制作包含analysis-ik、analysis-pinyin等插件的ES镜像,Dockerfile如下# Docker image of elasticsearch with ik and pinyin# VERSION 7.2.0# Author: zhengcj01FROM elasticsear...原创 2019-07-27 21:09:47 · 249 阅读 · 0 评论 -
[elasticsearch笔记] Modules 节点相关
Discovery构建集群从 seed host providers 开始,在已知集群中,有 master-eligible 的节点每个节点探测 seed addresses,识别是否可连接;分享远程已知的 master-eligible 节点列表;继续探测,找 master 节点;如果实在找不大,就在master-eligible 中进行选举核心参数discovery.find_pe...原创 2019-08-02 16:29:27 · 643 阅读 · 1 评论 -
[elasticsearch笔记] geo
notegeohash wikipedia[geohash detail](Geohash detail: https://zhuanlan.zhihu.com/p/35940647)demoGET /kibana_sample_data_flights/_search?size=1# https://en.wikipedia.org/wiki/Geohash# Geohash ...原创 2019-07-25 11:58:31 · 121 阅读 · 0 评论 -
[elasticsearch笔记] aggregation-range/terms/adjacency_matrix/filter/avg/median/weighted_avg
noteavgPOST kibana_sample_data_logs/_search?size=0{ "aggs": { "avg_grade": { "avg":{ "field":"bytes", "missing":10 } } }}POST kibana_sample_data_logs/_sear...原创 2019-07-10 13:42:36 · 202 阅读 · 0 评论 -
[elasticsearch笔记] search
重点协调节点(coordinating node)会根据 Adaptive Replica Selection 选择合适的节点处理请求。Adaptive Replica Selection 算法根据以下指标选择处理节点:协调节点和包含数据节点过去请求的响应时间包含数据节点过去处理请求的时间包含数据节点搜索线程池的队列大小可通过如下方式设置算法,如果关闭,则使用 round ro...原创 2019-07-04 18:09:41 · 167 阅读 · 0 评论 -
[elasticsearch笔记] refresh/optimistic_concurrency_control
重点数据写入后,并不是马上可以search到,需要refresh(index.refresh_interval 默认1s)refreshempty string or truewait_forfalse (the default)refresh GET /twitter/_search { "query": { "match_all": {} ...原创 2019-07-04 11:24:36 · 189 阅读 · 0 评论 -
[elasticsearch笔记] _termvectors/_mtermvectors
重点统计 term 相关数据ttf: total term frequencydf: document frequencydc: document countterm_freq: term 出现频率_termvectorsPUT /twitter{ "mappings": { "properties": { "text": { "type":...原创 2019-07-04 11:03:23 · 882 阅读 · 0 评论 -
mall商城源码分析[持续更新中]
mall-mastergithubnotehutool <dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version>...原创 2019-07-16 09:57:39 · 2199 阅读 · 0 评论 -
[elasticsearch笔记] reindex
重点reindex 不会复制新建/目标索引,所以在执行操作前,需要自己主动创建目标索引reindex 要求所有索引enabledreindex# verstion_type: external, internalPOST _reindex{ "conflicts": "proceed", "source": { "index": "twitter", "qu...原创 2019-07-03 17:04:37 · 216 阅读 · 0 评论