随笔分类 -  Elasticsearch

摘要:参考https://www.cnblogs.com/fat-girl-spring/p/14282311.html https://www.jianshu.com/p/217144c71724 应用场景:比如一个维表索引每天都有一个分区 但实际上并不需要那么多 需要删除前七天的索引,这个时候就可以设 阅读全文
posted @ 2023-05-29 19:24 再见傅里叶 阅读(97) 评论(0) 推荐(0)
摘要:1、fileld_2字段存在与fileld_1字段不存在 GET index_1/_search{"track_total_hits": true, "query":{ "bool": { "must_not":[{ "exists": { "field": "fileld_1" } }], "mu 阅读全文
posted @ 2023-04-27 10:04 再见傅里叶 阅读(460) 评论(0) 推荐(0)
摘要:term属于精确匹配,只能查单个词,tems可以匹配多个词(满足其中之一词的都会被搜索出来),多个词如果要同时匹配使用bool的must(must中带多个term); match进行搜索的时候,会先进行分词拆分,拆完后,再来匹配,match搜索多个单词满足其中之一词的都会被搜索出来(且不区分大小写) 阅读全文
posted @ 2022-12-12 09:43 再见傅里叶 阅读(728) 评论(0) 推荐(0)
摘要:es创建别名的好处: 1、不暴露索引名 2、可以为多个结构类似的索引(动态索引)创建相同的别名,查询的时候直接查询别名 ,然后自动匹配多个索引。 在不同的索引创建窗口。比如,如果为数据创建了每日索引,你可能期望一个滑动窗口覆盖过去一周的数据,别名就称为last-7-days.然后,每天创建新的每日索 阅读全文
posted @ 2022-12-09 15:51 再见傅里叶 阅读(160) 评论(0) 推荐(0)
摘要:把输入的文本块按照一定的策略进行分解,并建立倒排索引。在Lucene的架构中,这个过程由分析器(analyzer)完成。 主要组成 character filter:接收原字符流,通过添加、删除或者替换操作改变原字符流。例如:去除文本中的html标签,或者将罗马数字转换成阿拉伯数字等。一个字符过滤器 阅读全文
posted @ 2021-12-27 14:59 再见傅里叶 阅读(1035) 评论(0) 推荐(0)
摘要:https://blog.csdn.net/jiaojiao521765146514/article/details/83750548 ElasticSearch引擎把文档数据写入到倒排索引(Inverted Index)的数据结构中,倒排索引建立的是分词(Term)和文档(Document)之间的 阅读全文
posted @ 2020-04-22 17:30 再见傅里叶 阅读(365) 评论(0) 推荐(0)
摘要:Terms Aggregation 的计算方式主要有以下两种: map,在内存中构建映射表,利用映射表完成聚合计算,可以看得出,这种方式会比较消耗内存。 global_ordinals,每个桶都会有一个全局序列号,也就是指定域中的唯一值都会有一个全局序列号,根据这个序列号完成相关的聚合过程。计算过程 阅读全文
posted @ 2020-03-09 09:53 再见傅里叶 阅读(3102) 评论(0) 推荐(0)
摘要:1 查询上下文中,查询操作不仅仅会进行查询,还会计算分值,用于确定相关度;在过滤器上下文中,查询操作仅判断是否满足查询条件 2 过滤器上下文中,查询的结果可以被缓存。 阅读全文
posted @ 2020-03-09 09:51 再见傅里叶 阅读(1015) 评论(0) 推荐(0)
摘要:1、什么是ES,为什么要用ES? Elasticsearch是一个基于Lucene的搜索引擎。它提供了具有HTTP Web界面和无架构JSON文档的分布式,多租户能力的全文搜索引擎。Elasticsearch是用Java开发的,根据Apache许可条款作为开源发布。 用ES做一个全文索引 2、Ela 阅读全文
posted @ 2020-02-22 21:10 再见傅里叶 阅读(2952) 评论(0) 推荐(0)
摘要:没有建mapping(模板中dynamic为ifalse),字段可以fetchSource(new SearchSourceBuilder().fetchSource(include field,exclude field)); 如果你不想该字段被搜索,可以在mapping里面设置index为fal 阅读全文
posted @ 2020-02-22 19:57 再见傅里叶 阅读(270) 评论(0) 推荐(0)
摘要:ES为了避免深分页,不允许使用分页(from&size)查询10000条以后的数据,因此如果要查询第10000条以后的数据,要使用ES提供的 scroll(游标) 来查询。 假设取的页数较大时(深分页),如请求第20页,Elasticsearch不得不取出所有分片上的第1页到第20页的所有文档,并做 阅读全文
posted @ 2019-11-29 16:20 再见傅里叶 阅读(753) 评论(0) 推荐(0)
摘要:@Autowired private ConfigVo configVo; @Autowired private EsClient client; private static BulkProcessor bulkProcessor; @PostConstruct public void init( 阅读全文
posted @ 2019-11-27 17:02 再见傅里叶 阅读(5446) 评论(0) 推荐(1)
摘要:ES中提供了 FROM/SIZE 分页,但这种分页有性能瓶颈。 Scroll会以间隔时间滚屏的方式返回全部的查询数据,可以作为数据量很大的情况下,分页的一个替代方案 public void scroll(){ RestHighLevelClient client = elasticClient.ge 阅读全文
posted @ 2019-11-20 14:58 再见傅里叶 阅读(438) 评论(0) 推荐(0)
摘要:https://blog.csdn.net/u010454030/article/details/79629400 阅读全文
posted @ 2019-11-20 09:33 再见傅里叶 阅读(996) 评论(0) 推荐(0)
摘要:当并发操作ES的线程越多,或者并发请求越多,或者是读取一份数据,供用户查询和操作的,时间越长,因为这段时间里很可能数据在ES已经被修改了,那么我们拿到的就是旧的数据,基于旧数据操作,那么后续肯定会出问题 所以我们有悲观锁和乐观锁俩种并发控制方案悲观锁并发控制方案常见于关系型数据库中,比如mysql悲 阅读全文
posted @ 2019-11-19 09:54 再见傅里叶 阅读(2399) 评论(0) 推荐(0)
摘要:1、BoolQueryBuilder中must与should区别 must的两个条件都必须满足,should中的两个条件至少满足一个就可以;must相当于and,should相当于or 2、QueryBuilders中matchQuery与termQuery、termsQuery区别 match q 阅读全文
posted @ 2019-11-12 16:43 再见傅里叶 阅读(2755) 评论(0) 推荐(0)