
elasticsearch
文章平均质量分 74
西凉的悲伤
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Linux安装Elasticsearch和Kibana
安装的前提需要先安装jdk。一、Elasticsearch的安装官网下载安装包:Elasticsearch下载1.服务器新建文件夹:mkdir elasticsearch2.修改 elasticsearch文件夹权限为读写执行都可以:chmod 777 elasticsearch3.新建一个用户,因为启动 elasticsearch 要在非 root 用户下才能启动。# 添加一个名字是es工作组groupadd es# 添加用户es设置密码elasticsearch并设置工作组es原创 2021-04-19 16:09:10 · 1688 阅读 · 1 评论 -
elasticsearch聚合结果分页查询
1、Elasticsearch支持聚合后分页吗,为什么?不支持,看看Elasticsearch员工如何解读。1)性能角度——聚合分页会在大量的记录中产生性能问题。2)正确性角度——聚合的文档计数不准确。所以奇怪的事情可能会发生,如第二页的第一项具有比第一页的最后一个元素更高的计数。2、Elasticsearch要实现聚合后分页,该怎么办?方案:需要展示满足条件的全部数据条数,即需要全量聚合,且按照某规则排序。记住,如果数据基数大(十万、百万甚至千万级),这必然会很慢。步骤1:全量聚合,siz原创 2020-11-19 18:33:46 · 4449 阅读 · 3 评论 -
elasticsearch对聚合后的结果进行范围筛选
书接上文,上一篇文章写了elasticsearch对聚合后的结果排序这一篇写对聚合后的范围筛选。一般的我们可以在query或filter里使用range进行范围筛选查询,但是我们在聚合里怎么对聚合后的结果筛选出符合范围的聚合结果呢?dsl语句如下: "aggregations": { "statistics_assets": { "terms": { "field": "one_account.one_account_no", "size":原创 2020-11-19 18:18:56 · 3208 阅读 · 0 评论 -
elasticsearch对聚合后的结果排序
假设有三个人A、B、CA的文档是这样的:{“_index” : “customer_v2025”,“_type” : “customer_info”,“_id” : “105100015130”,“_score” : 0.0,“_source” : {“assets” : {“merge” : 10},“account_open_date” : {“normal” : 20191210},“customer_name” : “XXX”,“customer_id” : 1051原创 2020-11-19 17:53:43 · 3815 阅读 · 0 评论 -
elasticsearch使用collapse对内容去重
使用cardinality去重统计一般我们在使用elasticsearch进行去重是通过在聚合里使用cardinality对统计结果的去重,比如有个字段“one_account.one_account_no”,有两个文档的“one_account.one_account_no”值都是111,那么对“uid“”去重后结果是2。dsl语句:POST user_onoffline_log/_search{ "query": { "match_all": {} }, "size": 0,原创 2020-11-17 11:03:13 · 15111 阅读 · 0 评论 -
elasticsearch使用script判断字段是否为空null
当使用es进行对字符串类型的字段判空和长度判断时可以这样写:原创 2020-11-14 00:25:36 · 7750 阅读 · 0 评论 -
elasticsearch搜索与聚合常用DSL语句
主要了解query、bool(must、should、must_not)、term、match、range、filter、size、from、cardinality等。换句话说需要了解索引、类型、分词查询、精确查询、全文查询、排序、去重、求最大值、平均值、分页等,其实和数据库蛮相似的,理解着学习就好。下面是一些elasticsearch教程和参考的一些常用语法例子。https://es.xi...原创 2019-08-14 09:02:35 · 2024 阅读 · 0 评论 -
elasticsearch使用scroll“深”分页
对es进查询时,单次查询数据量太大可以通过分页来查询。一般数据不是太大可以通过from+size浅分页实现,但数据量太大会内存消耗特别大。所以可以通过scroll来分页。scroll分页查询返回的结果会带有这次滚动查询的scroll_id,下次查询可以通过本次scroll_id继续查询,用于接下来的查询。相当于在结果中做了个标记,通过这个标记下一次查询从这个标记处继续查询。以查询学生id为例:SearchSourceBuilder searchSourceBuilder = new SearchS原创 2020-05-11 18:25:07 · 1447 阅读 · 0 评论 -
elasticsearch使用script进行聚合,统计数组类型字段
最近在使用elasticsearch进行聚合时遇到一个问题,有一个字段是数组类型,该字段存储的是客户订阅的产品id,要聚合统计每个客户订阅了几个产品,比如统计订阅了2到3个的。这个时候就要知道每个客户该字段数组的长度,但是elasticsearch聚合文档里没有相关操作,查阅资料后发现要用script来处理。DSL语句如下:GET customer/_search{ "query":...原创 2020-03-13 22:38:26 · 8030 阅读 · 4 评论 -
elasticsearch使用script进行两个字段比较搜索范围
一般用elasticsearch进行简单的范围查找是容易的,比如:查找期末考试分数>80的学生;查找期末考试分数在60到70的学生;通过elasticsearch的range可方便的查询GET /forum/article/_search{ "query": { "constant_score": { "filter": { "range": ...原创 2019-11-16 14:29:03 · 6273 阅读 · 0 评论 -
java对elasticsearch的操作
java中最主要的操作是对elasticsearch进行搜索搜索文档搜索文档需要创建SearchRequest对象。设置搜索的索引:indices(String… indices),elasticsearch允许对多个索引一起搜索,所以SearchRequest对象中的indices方法可以设置多个索引。设置搜索的文档类型:types(String… types),elasticsearc...原创 2019-09-09 10:44:54 · 619 阅读 · 0 评论