随笔分类 -  Elastic

ElasticSearch 数据并发冲突处理
摘要:一.概述 Elasticsearch使用文档版本来控制文档的并发更新,并用于解决冲突。Elasticsearch从写入到检索的时间间隔是由刷新频率refresh_interval设定的,该值可以更新,但默认最快是1s,也就是这1秒之内如果同一条数据(文档的新版本必须复制到群集中的其他节点。 Elas 阅读全文

posted @ 2024-05-13 17:55 花阴偷移 阅读(636) 评论(0) 推荐(0) 编辑

Elasticsearch 自定义评分
摘要:一.概述 在前几章中,讲到了如何分词,以及分词的种类。 分词后在进行全文检索时,返回结果如何确定用户真正想看到的, 那数据结果如何排序呢? 比如在电商中:搜索一个商品关键词,默认是综合排序,商品如何顺序是经过一定的算法策略,也是为了提高用户的体验。Elasticsearch使用评分算法,对搜索结果进 阅读全文

posted @ 2024-05-10 17:59 花阴偷移 阅读(184) 评论(1) 推荐(0) 编辑

Elasticsearch N-gram分词器介绍 (7)
摘要:一.概述 Ngram是一种基于统计语言模型的算法。Ngram基本思想是将文本里面的内容按照字节大小进行滑动窗口操作,形成长度是N的字节片段序列。此时每一个字节片段称为gram。对所有gram的出现频度进行统计,并且按照事先设定好的阈值进行过滤,形成关键gram列表,也就是这个文本的向量特征空间。列表 阅读全文

posted @ 2024-04-24 14:42 花阴偷移 阅读(1599) 评论(0) 推荐(0) 编辑

Elasticsearch 所有内置分词器介绍(6)
摘要:一.概述 Tokenizer分词器接收字符流(es的text类型),将其分解为单个term(通常是单个单词), 然后输出标记流。分词器除了分解,还负责记录以下内容: 1)记录每个单词(term)的顺序或位置(用于”phrase短语“和单词邻近性查询) 2)term原始单词的开始和结束字符偏移量(使用 阅读全文

posted @ 2024-04-24 10:44 花阴偷移 阅读(466) 评论(0) 推荐(0) 编辑

Elasticsearch 所有内置分析器介绍(5)
摘要:Elasticsearch 附带了各种内置分析器,可以直接在任何索引中使用,而无需额外配置: 1) 标准分析器 Standard Analyzer 该分析器的文本分词规则是:过滤掉大多数标点符号来划分单词,通过Unicode 文本分割算法,再转成小写的分词。 支持删除常用的停用词(如:the, a 阅读全文

posted @ 2024-04-19 16:43 花阴偷移 阅读(156) 评论(0) 推荐(0) 编辑

Elasticsearch 创建自定义分析器(4)
摘要:一.自定义分析器 当内置分析器不能满足时,可以创建一个自定义分析器,自定义分析器(analyzer)由: 1)0或多个 charactcr filter 字符过滤器 2) 1个 tokenizer 分词器,将文本切分为分词 3)0或多个 token filter 令牌过滤器,是属于分词后再过滤 自定 阅读全文

posted @ 2024-04-11 11:52 花阴偷移 阅读(125) 评论(0) 推荐(0) 编辑

Elasticsearch 配置内置分析器(3)
摘要:一. 内置分析器(analyzer) 内置分析器无需任何配置即可直接使用,也支持配置选项来更改其行为。 下面示例,分别使用了自定义分析器与内置分析器 PUT my-index-000001 { "settings": { "analysis": { "analyzer": { "std_englis 阅读全文

posted @ 2024-04-09 10:34 花阴偷移 阅读(43) 评论(0) 推荐(0) 编辑

Elasticsearch 配置与测试分析器 (2)
摘要:一. 配置文本分析器(Configure text analysis) 默认情况下,Elasticsearch 使用standard分析器来进行文本分析,如果使用该分析器,则不用额外的配置。如果不满足,可以使用其它内置分析器,也可以创建自定义的分析器更好的控制,通常在生产实战中都是自定义分析器,方便 阅读全文

posted @ 2024-04-08 11:43 花阴偷移 阅读(29) 评论(0) 推荐(0) 编辑

Elasticsearch 认识分词(1)
摘要:一.概述 分词是构建倒排索引的重要一环。根据语言不同可以分为英文分词、中文分词等;根据分词实现的不同又分为标准分词器、空格分词器、停用词分词器等。在传统的分词器不能解决特定业务场景的问题时,往往需要自定义分词器。 1.1认识分词 对于分词操作来说,英语单词分词相对简单,因为单词之间都会以空格或者标点 阅读全文

posted @ 2024-04-07 17:24 花阴偷移 阅读(34) 评论(0) 推荐(0) 编辑

倒排索引
摘要:倒排索引主要由两部分组成: 1)单词词典,即每个文档进行分词后的词项在去重后组成的集合; 2)倒排文件 是倒排列表持久化存储的结果,通常保存在磁盘等存储设备上。倒排列表记录了词项所在文档的文档列表、单词频率等信息。 我们以4个文档为例: 文档编号 文档内容 1 作为一款领先的聊天助手,ChatGPT 阅读全文

posted @ 2024-03-27 10:54 花阴偷移 阅读(18) 评论(0) 推荐(0) 编辑

elasticsearch 在.net core中使用Script脚本批量更新
摘要:目的: 目前有一家供应商数据有110w条数据,需要每天更新全部数据的Createtime创建时间(创建时间到秒不能全部都是一样的),如果使用es游标或者使用分页查询出来再更新,方案是行不通的,这时想到使用Script脚本来批量更新(半小时内全部更新完成),代码如下所示: /// <summary> 阅读全文

posted @ 2024-02-27 17:05 花阴偷移 阅读(64) 评论(0) 推荐(0) 编辑

elasticsearch 聚合查询
摘要:1.查看一天时间内,ip的去重总数 post hqbuy_event_tracking-*/_search { "query":{ "range": { "create_timestamp": { "gte": 1702310400, "lt": 1702396800 } } }, "size":0 阅读全文

posted @ 2023-12-13 16:35 花阴偷移 阅读(17) 评论(0) 推荐(0) 编辑

elasticsearch from + size must be less than or equal to: [10000] but was [100000]
摘要:说明:当分页查询时,默认最大总数是10000(from+size<=10000),当我现在业务需要查询最大100000条时,就报错了。 方案1:可以为某个es放开到指定的返回总数,也可以对整个es的索引做设置。但这样对内存消耗很大, 可能导致内存溢出,elasticsearch重启又会恢复默认100 阅读全文

posted @ 2023-08-24 10:36 花阴偷移 阅读(104) 评论(0) 推荐(0) 编辑

elasticsearch 索引重建实战
摘要:一.介绍 索引结构一但创建好后,是无法直接修改索引字段类型的,也无法直接删除索引中某一个字段,也无法增加分片,要解决这些问题,只能索引重建。 新增字段是不需要索引重建的。 下面是索引重建的一个案例: 当时创建一个索引后,在运行一段时间,发现索引字段应该为keyword类型,而不应该是keyword和 阅读全文

posted @ 2023-07-11 15:27 花阴偷移 阅读(100) 评论(0) 推荐(0) 编辑

elasticsearch bulk批量操作
摘要:说明: 在做业务增删改时,有时批量执行比循环中单个执行性能要好很多,在es中有批量执行方法(除了script),如下(.net)代码: public BulkResponse BulkUpdate(List<IBulkOperation> bulkOperationList) { BulkReque 阅读全文

posted @ 2023-06-21 10:13 花阴偷移 阅读(198) 评论(0) 推荐(0) 编辑

elasticsearch 子文档nested类型查询
摘要:1.json 数据结构如下 { "took" : 3, "timed_out" : false, "_shards" : { "total" : 6, "successful" : 6, "skipped" : 0, "failed" : 0 }, "hits" : { "total" : { "v 阅读全文

posted @ 2023-06-08 18:05 花阴偷移 阅读(106) 评论(0) 推荐(0) 编辑

Elasticsearch 大量频繁使用UpdateByQuery 脚本更新字段值 报错
摘要:下面是出错内容: WARNING:elasticsearch:POST http://es-cn-09k1o69vj0006jcz9.public.elasticsearch.aliyuncs.com:9200/crawl_basis_pn/_update_by_query [status:500 阅读全文

posted @ 2023-06-05 16:41 花阴偷移 阅读(382) 评论(0) 推荐(2) 编辑

Elasticsearch 大量滚动查询 断路器报错
摘要:在调用es api查询时,当使用游标滚动查询大批数据时, 或者深度分页总数超过10000条时, 或者其它查询时,可能报429错误(以 .net 的es客户端为例,见下面代码) var res = _esGoodsClient.Search(query, sort, pageindex, pagesi 阅读全文

posted @ 2023-05-18 10:59 花阴偷移 阅读(31) 评论(0) 推荐(0) 编辑

elasticsearch 参数配置
摘要:一.概述 在elasticsearch中配置文件有二个,一是elasticsearch.yml 它是核心配置文件; 二是 jvm.options 它是堆内存配置文件。 1.1 堆配置事项 1.设置(Java虚拟机)JVM选项,需要关注的是设置堆的大小,默认1G, 该文件的默认位置是config/jv 阅读全文

posted @ 2022-12-27 11:04 花阴偷移 阅读(245) 评论(0) 推荐(0) 编辑

elasticsearch 查询示例
摘要:1. 代码含义: 当前索引ext_cms_article,查询条件伪代码是:article_type=2 AND (article_tabnames OR article_title OR article_content OR article_author) 其中operator:and 查询命中率 阅读全文

posted @ 2022-12-27 11:01 花阴偷移 阅读(26) 评论(0) 推荐(0) 编辑

导航

点击右上角即可分享
微信分享提示