
Elasticsearch
文章平均质量分 60
成知节
Simple life, Deep mind;
Keep studying, Open mind;
Curiosity, Modest, Kind and Benefits others!
展开
-
elastic elasticsearch 源码解析之选主选举过程
这里的选主为什么提角色?是因为不同角色在选主中起到不同的作用.master的非节点不但参与投票同时还可以参与竞选, master 的角色仅投票不参与竞选,其余角色不参与.支持的角色如果不设置node.roles则默认有所有角色, 如果配置了,以配置的为准.跨集群搜索和副本角色只有master角色才允许高可用集群最少需要3个masterdata角色如果分层的话,又可以分为不同的层在存储时间,是否压缩,访问性能等进行差异化管理.以达到空间和性能的最优化.原创 2023-07-16 09:03:16 · 1611 阅读 · 1 评论 -
elasticsearch elastic 源码解决之 - 为什么需要仅投票节点
主节点负责轻量级集群范围的操作,例如创建或删除索引、跟踪哪些节点是集群的一部分以及决定将哪些分片分配给哪些节点。避免主节点负载过重的最可靠方法是把所有配置了master角色的节点配置为专用主节点(或者称之为专用候选节点),使它们能够专注于管理集群。集群元数据描述了如何读取存储在数据节点上的数据,因此如果丢失,则无法读取存储在数据节点上的数据。专用master节点仍将充当协调节点,也就是集群中的负载均衡器,将请求从客户端路由到集群中的其他节点,但是不要以负载均衡器的目的而设置候选节点。原创 2023-07-16 08:17:42 · 297 阅读 · 0 评论 -
Elasticsearch 复杂类型 Nested
复杂类型建模到底是个什么东东?复杂类型的的检索问题。原创 2023-07-09 19:00:49 · 1455 阅读 · 0 评论 -
Elasticsearch中fields的含义和使用场景作用用途干什么的
多字段查询:使用子字段定义一个字段的不同类型,可以根据不同的查询需求进行优化。高亮显示:使用子字段定义一个字段的关键字类型,可以在搜索结果中进行高亮显示。高亮显示是一种突出显示搜索结果中匹配的文本的方式,它可以提高用户体验和搜索结果的可读性。关键字类型是不分析的,它存储原始的、未经分析的文本,并且可以精确匹配和排序。定义子字段,您可以更细致地控制字段的处理和索引行为,以满足不同的查询需求,并在排序、聚合、高亮显示和多字段查询等方面提供更好的功能和性能。是用于定义字段的子字段(sub-field)的部分。原创 2023-07-09 13:39:20 · 2528 阅读 · 0 评论 -
Elasticsearch 搜索推荐
搜索推荐。原创 2023-07-08 18:46:39 · 2008 阅读 · 1 评论 -
Elasticsearch 报错 error At least one unigram is required but all tokens were ngrams
【代码】Elasticsearch 报错 error At least one unigram is required but all tokens were ngrams。原创 2023-07-08 07:43:05 · 314 阅读 · 0 评论 -
Elasticsearch模糊查询
Elasticsearch模糊查询。原创 2023-07-07 09:30:16 · 3535 阅读 · 0 评论 -
Elasticsearch脚本查询
Elasticsearch脚本查询。原创 2023-07-05 19:04:23 · 1401 阅读 · 0 评论 -
Elasticsearch批量操作
Elasticsearch批量操作。原创 2023-07-05 18:58:53 · 698 阅读 · 0 评论 -
Elasticsearch聚合查询[合集]
聚合查询可以对照数据库理解注意事项,对于text字段如果需要使用聚合,需要开启fielddata,但是通常不建议,因为fielddata是将聚合使用的数据结构由磁盘(doc_values)变为了堆内存(field_data),大数据的聚合操作很容易导致OOM。原创 2023-07-03 20:44:39 · 643 阅读 · 0 评论 -
Elasticsearch同义词自定义词库未生效原因
【代码】Elasticsearch同义词自定义词库未生效原因。原创 2023-07-02 19:56:33 · 755 阅读 · 1 评论 -
synonym_graph与`synonym`
过滤器,在分析过程中,输入文本 “I love big apple” 会被分析成 “I love big” 和 “apple”。当使用普通的 synonym 过滤器时,多词同义词会被拆分成单独的词,并分别进行处理,而无法保持它们之间的关联性。过滤器,输入文本 “I love big apple” 会被分析成 “I love big apple”,保留了多词同义词的完整性。token 过滤器则能够正确处理多词同义词。过滤器相比,能够更好地处理多词同义词,保持其完整性和关联性,从而提供更准确的搜索结果。原创 2023-07-02 19:55:14 · 648 阅读 · 0 评论 -
Elasticsearch 分词器切词器分析器
char_filter:内置或自定义字符过滤器。token filter:内置或自定义token filter。tokenizer:内置或自定义分词器。// 自定义char_filter: 转换单词 "test_myfilter03" : {"type" : "mapping" , "mappings" : [ "& => and" , "| => or" ] } // 可以定义多个char_filter,其余的是否可以定义多个可以尝试 } , "filter" : {原创 2023-07-02 19:54:29 · 1162 阅读 · 0 评论 -
ElasticSearch 布尔查询
布尔查询可以组合前边的一些查询,比如组合filter和must/must_not等等它的目的就是提高性能,比如先通过filter过滤一些数据之后,然后再计算评分,这样节省一些评分时间。原创 2023-07-02 19:51:08 · 667 阅读 · 0 评论 -
## term没有查到数据分析
text 类型在创建索引的时候会执行分词,分词过程有一个步骤叫 normalization 也叫文档归一化处理,在这个处理过程中,源数据字段会被统一时态、大小写等,具体还会执行哪些操作取决于你使用了哪个分词器,也就是说你的搜索词会保留大写,而源文档的索引数据会被转换为小写,注意这里说的是倒排索引会被转换为小写,而不是源数据,所以相当于 你用 John 去匹配了 john,所以无法命中。这里的name并不是keyword, name.keyword才是keyword,是不是keyword要看其type。原创 2023-07-02 19:49:50 · 238 阅读 · 0 评论 -
Elasticsearch ES 简单查询 Query String Search 入门
尝试了text类型排序需要特别处理下.原创 2023-07-02 19:48:58 · 956 阅读 · 0 评论 -
ES核心概念
部署kibana之前文章已经介绍,这里不赘述.支持各种异构语言调用,提供了各种REST及各种语言的API.我们在kibana主要使用REST风格的APIprettypretty 表示把输出内容格式化这个是删除一个索引查询索引信息一般以下划线开头的都是es提供的API修改数据PUT 属于覆盖更新, 如果你不写的就删除,写的就更新,即不修改的也要保留原值部分修改数据:“doc”:{索引前边反斜杠可选的。原创 2023-06-26 23:28:47 · 618 阅读 · 0 评论 -
创建repo报错
# 查看未分配原因。原创 2023-06-25 17:25:44 · 735 阅读 · 0 评论 -
cold流转frozen报错
可以修改为INFO DEBUG等。原创 2023-06-25 17:24:33 · 111 阅读 · 0 评论 -
data_frozen角色磁盘空间不够
- 当磁盘使用量低于 cluster.routing.allocation.disk.watermark.low 的阈值时,Elasticsearch 将会解除对分片分配的限制,允许新的分片分配和重新分配操作。此时,集群将完全停止对磁盘的写入操作,以防止磁盘耗尽。--当磁盘使用量超过cluster.routing.allocation.disk.watermark.high的阈值时,Elasticsearch 将尝试阻止新的分片分配,但仍会继续进行分片的重新分配操作,以平衡集群的负载。原创 2023-06-25 17:22:32 · 137 阅读 · 0 评论 -
elasticsearch生命周期的阶段
另外还可以指定哪些node可以分配warm,这个可以通过role或者自定义属性实现分配.如果通过role进行node选择,hot role的node一定要增加data_content角色,否则不生效.但是同时要注意其余的节点千万不要配置data_content,如果配置了,它不会优先分配给hot role的node,而是会随机选择。move data into phase: 指的是上个阶段(hot)多久移动到这个阶段。hot阶段是必须的,其他的阶段是可选的。每个生命周期都可以设置不同的行为。原创 2023-06-25 17:21:34 · 1083 阅读 · 0 评论 -
es中 content tier.和 hot tier有什么区别于联系
总的来说,Content Tier和Hot Tier在存储和处理数据的方式上有所不同,但它们都是构建多层存储和处理架构的重要组成部分,以满足不同类型数据的需求和性能要求。在Elasticsearch中,Content Tier和Hot Tier是存储和处理数据的不同层级,具有不同的特点和功能。原创 2023-06-25 17:19:55 · 544 阅读 · 0 评论 -
关于 elasticsearch node roles
一个node就是一个elasticsearch实例.每个node处理http和传输层流量,http由rest客户端使用.传输层用于node之间通信.node.roles在elasticsearch.yml文件中进行配置,原创 2023-06-25 17:17:16 · 575 阅读 · 0 评论 -
Elasticsearch 索引管理
data_content : 优先分配给这个角色,如果有多个data_content,会根据负载均衡策略进行自动负载.因为这个角色优先级比较高,所以如果data_content和data_hot之类的同时设置的话,那么data_hot, data_warm等就会不起作用. 现象:就是不会优先分配data_hot,会随机选择data_content角色. 解决方案就是如果根据节点角色进行数据流转或者索引分配就不要配置data_content角色.对于数据流,索引模板在创建时配置流的 backingDice。原创 2023-06-25 17:14:07 · 1095 阅读 · 0 评论 -
从0到1ES集群搭建实践
ES集群搭建实践。原创 2023-06-16 19:51:36 · 2773 阅读 · 0 评论