IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> 基于Mysql理解 Java RestHighLevelClient ES查询语句 -> 正文阅读

[大数据]基于Mysql理解 Java RestHighLevelClient ES查询语句

//起手构建请求
SearchRequest request = new SearchRequest();

request常用操作:

  1. 指定索引,可传入多个索引,支持通配符*
    request.indices(String[] tables) 等同于 select xx from table1,table2…

//构建查询
SearchSourceBuilder builder = new SearchSourceBuilder();

builder常用操作:

  1. 分页查询
    builder.from(0)
    builder.size(10) 等同于 limit 1,10
  2. 排序
    builder.sort(“age”, SortOrder.DESC) 等同于 order by age desc
  3. 过滤字段
    String[] includes = {“name”};
    String[] excludes = {};
    query3.fetchSource(includes, excludes); 等同于 select name from index

//给SearchSourceBuilder设置查询条件

  1. builder.query(QueryBuilder queryBuilder);
    // 聚合查询操作

  2. builder.aggregation(AggregationBuilder aggregation);

    常用QueryBuilder :

    1. QueryBuilders.matchAllQuery() 等同于 select * from index
    2. QueryBuilders.matchQuery() 等同于 select * from index where xxx
    3. QueryBuilders.boolQuery() 布尔类型查询,可传入多个各种QueryBuilder,构建更复杂的查询,每个QueryBuilder 相当于加了个()
    4. QueryBuilders.rangeQuery() 范围查询 等同于 where flied < and > filed
    5. QueryBuilders.fuzzyQuery() 模糊查询 .fuzziness() 函数指定模糊字符偏移量

    常用AggregationBuilder :

    1. AggregationBuilders.max(“maxAge”).field(“age”); 最大值,等同于函数 select max(“age”) as maxAge
    2. AggregationBuilders.terms(“ageGroup”).field(“age”); 分组查询,等同于 group by age

QueryBuilders.boolQuery()常用函数:
1. 多个must(QueryBuilder)          等同于  ( QueryBuilder1 ) and ( QueryBuilder2 ) 多个must 取 ∩ 交集
2. 多个should(QueryBuilder)        等同于  ( QueryBuilder1 ) or  ( QueryBuilder2 )  多个should 取 ∪ 并集
3. 单个must/should                 等同于  where xx = xx,单个must/should传入的QueryBuilder,符合这个条件

        //must -> SQL ‘=’ ‘and’
        boolQueryBuilder.must(QueryBuilders.matchQuery("age", "24"));
        //should -> SQL ‘or’
        boolQueryBuilder.should(QueryBuilders.matchQuery("age", "24"));
        boolQueryBuilder.should(QueryBuilders.matchQuery("age", "25"));
        
        
QueryBuilders.rangeQuery()常用函数:  
4. rangeQuery.gte("25");           大于,对于指定字段进行大小判断
5. rangeQuery.lte("30");           小于,对于指定字段进行大小判断

request.source(query);

SearchResponse response = client.search(request, RequestOptions.DEFAULT);

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-05-08 08:10:56  更:2022-05-08 08:14:06 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 22:13:01-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码