elasticsearch
强强强子
正在奋斗学习的程序猿
展开
-
ES term之大小写
ES term之大小写问题解决问题重现问题查看mapping映射以及_analyze API测试定位问题结论如果不想看啰嗦的事由可以直接跳到结论问题同事说ES搜索,有些能搜索到,而有些确定是有数据的但是无法搜索出来。解决问题重现问题向同事要了所要搜索的索引 和 字段以及搜索参数,验证下同事使用姿势是否正确。结果果然如同事所说,问题重现,无法匹配。查看mapping映射以及_analyze API测试发现这个字段是一个type为text 分词方式为 自定义正则分词器以“,”(逗号)分割。使用原创 2020-07-27 11:40:29 · 2357 阅读 · 0 评论 -
ES调优后的故事: CMSGC
前戏上篇文章一番优化后,依然存在请求响应偶发超时,看来上次调优简直是赠送的惊喜发现。重新思考不是查询语句和数据结构引起的慢查询,那为什么会偶发的超时,排查超时时间范围内的日志,并没有大量的突发请求,这让本来不精通ES的我雪上加霜!但是咱能怎么办,只能撸起袖子加油干!(我太难了)查询资料得到几个API技能//集群线程池情况GET /_cat/thread_pool?v//集群热点线程...原创 2020-04-28 13:20:30 · 520 阅读 · 0 评论 -
记一次ES查询调优(ES5.x)
事由应用部门反应搜索中间件,响应速度偶然过慢,查询搜索日志发现不定时会有超过2s的响应。排查分析DSL,看下DSL是否使用不当,一番检查后没有发现DSL异常。使用Search Profiler分析DSL,结果如下图:status=0 这个条件竟然使用了10.5ms 并且status类型是int 使用term查询,结果超乎想象。分析问题为什么number类型的竟然需要查询那么久,生产环...原创 2020-04-28 10:54:25 · 548 阅读 · 0 评论 -
[译] Practical BM25 - Part 1: 分片是如何影响 Elasticseach 相关性评分的
[译] Practical BM25 - Part 1: 分片是如何影响 Elasticseach 相关性评分的背景理解分片如何影响评分背景我们在Elasticsearch 5.0中,把默认的相似度算法换成了Okapi_BM25,用它来计算某条查询结果的得分。我不想在这篇文章中对BM25与其他的备选算法做深入的对比,如果你想学习BM25的理论,可以看看Elastic{ON} 2016上的BM2...转载 2020-03-25 14:28:13 · 377 阅读 · 0 评论 -
[译] Practical BM25 - Part 3: 怎样选取 Elasticsearch 的 b 和 k1 参数
《Practical BM25》系列文章来自于 elastic 官方博客,共分为三部分,讲解了 Elasticsearch 的默认相似度算法 BM25 的原理。本篇为第三部分的中文翻译,原文链接 Practical BM25 - Part 3: Considerations for Picking b and k1 in Elasticsearch选取 b 和 k1值得注意的是,当你的用户...转载 2020-03-30 13:10:53 · 1780 阅读 · 0 评论 -
[译] Practical BM25 - Part 2: BM25 算法和它的变量们
BM25 算法本文中我会深入数学细节,以足以解释究竟发生了什么,但这只是通过分析BM25公式的结构,探究究竟发生了什么的部分。首先我们看一下公式的整体,随后我们对于每个组成部分进行分别讲解:我们可以看到,公式中有一些东西经常出现,如qi, IDF(qi), f(qi,D), k1, b, 以及关于field长度的变量。下面是这些变量代表的意义qi 代表第i个查询term例如,在搜索"...转载 2020-03-27 09:37:09 · 751 阅读 · 0 评论 -
源码透视 elasticsearch 衰减函数EXP 计算过程
版本声明以下内容都是基于elasticsearch-6.3.2.jar一、kibana开启调试“explain”: true 会打印分数计算过程{ "value": 2.0702924e-8, "description": "Function for field createdAt:", ...原创 2020-02-18 20:00:57 · 1749 阅读 · 1 评论 -
ElasticSearch 重建索引 _reindex
前言何为重建索引在原index的基础上copy一份数据在新index(字段相同,类型可不相同)。为什么有重建索引的需求当分词插件变更,数据类型改变等等。(当然也可以直接重跑一份数据)如何重建索引请借步参阅官网文档https://www.elastic.co/guide/en/elasticsearch/reference/6.5/docs-reindex.html生产案例需求需要...原创 2019-11-22 11:20:36 · 1493 阅读 · 0 评论 -
解决kibana Long丢失精度 script_fields
在使用kibana中 会发现Long精度会丢失 导致查询出的数据不准确。可以借助ElasticSearch的script fields API。官方文档script_fields使用示例GET index/_search{ "query": { "match": { "tid": "9331566986879872" } },"script_fiel...原创 2019-11-21 18:15:49 · 1771 阅读 · 0 评论 -
ElasticSearch _update_by_query 更改数据
官网说明https://www.elastic.co/guide/en/elasticsearch/reference/6.5/docs-update-by-query.html使用示例POST twitter/_update_by_query{ "script": { "source": "ctx._source.likes=58;ctx._source.title='中文';...原创 2019-11-21 15:35:58 · 2259 阅读 · 0 评论 -
更改ElasticSearch的相关度算法,以BM25为例(非修改源码)
官网说明https://www.elastic.co/guide/en/elasticsearch/reference/6.5/index-modules-similarity.html#bm25{ "settings": { "analysis": { "analyzer": { "comma": { "type": "pattern...原创 2019-11-21 15:21:03 · 3381 阅读 · 0 评论 -
ElasticSearch IDF BM25 函数图像
什么是IDF?逆向文件频率(inverse document frequency,IDF)是一个词语普遍重要性的度量。某一特定词语的IDF,可以由总文件数目除以包含该词语之文件的数目,再将得到的商取以10为底的对数得到IDF函数图像es 的idf公式:idf=log(1 + (docCount - docFreq + 0.5) / (docFreq + 0.5))当docCount 既...原创 2019-07-28 18:56:38 · 1014 阅读 · 0 评论 -
剖析ElasticSearch的评分计算过程
剖析elasticsearch的评分计算过程es搜索结果是怎样的排序的?准备测试数据搜索剖析参数含义结论es搜索结果是怎样的排序的?es的排序准则的相关度,根据搜索 关键词 计算关键词在一个文档中的得分,得分越高结果越靠前。那么计算的准则是什么?TF/IDFBM25这两种算法在这里我就先不做详细说明,看下图,两种算法的得分趋势图。TF/IDF会随着关键词出现的次数得分逐渐增高,BM...原创 2019-07-28 17:49:53 · 2946 阅读 · 0 评论