当前位置: 首页 > news >正文

日志检索场景ES->Doris迁移最佳实践:函数篇

函数列表

  1. 函数:term
  2. 函数功能说明:查询某个字段里含有某个关键词的文档
  3. 参数说明:
  4. 返回值说明:
  5. ES使用示例:
{"query": {"term": {"title":   "blog"}}
}
  1. Doris使用示例:
select * from httplogs where title = 'blog';

  1. 函数:terms
  2. 函数功能说明:查询某个字段里含有多个关键词的文档
  3. 参数说明:
  4. 返回值说明:
  5. ES使用示例:
{"query": {"terms": {"title":  [ "blog","page"]}}
}
  1. Doris使用示例:
select * from httplogs where title IN ('blog', 'page');

  1. 函数:match
  2. 函数功能说明:match首选对字段进行分词操作,然后再查询
  3. 参数说明:
  4. 返回值说明:
  5. ES使用示例:
{"query": {"match": {"title":  "blog page"   }}
}

说明:和term区别可以理解为term是精确查询,这边match模糊查询;match会对my ss分词为两个单词,然后term对认为这是一个单词
5. Doris使用示例:

 select * from httplogs where request MATCH 'blog page';

  1. 函数:should
  2. 函数功能说明:至少有一个查询条件匹配
  3. 参数说明:
  4. 返回值说明:
  5. ES使用示例:
{
"bool": {
"should": [{ "term": { "title": "error" }},{ "term": { "title": "exption" }} ]}
}
  1. Doris使用示例:
select * from httplogs where title = 'error' or  title = 'exption';

  1. 函数:must
  2. 函数功能说明:查询指定文档一定要被包含
  3. 参数说明:
  4. 返回值说明:
  5. ES使用示例:
{"query": {"bool": {"must": [{"match": {"title": "page"}},{"match": {"content": "beijing"}}]}}
}
  1. Doris使用示例:
select * from httplogs where title MATCH 'title' and  content MATCH 'exption';

  1. 函数:must not
  2. 函数功能说明:
  3. 参数说明:
  4. 返回值说明:
  5. ES使用示例:
{"query": {"bool": {"must_not": [{"match": {"title": "page"}},{"match": {"content": "beijing"}}]}}
}
  1. Doris使用示例:
select * from httplogs where 
!(title MATCH 'title') 
and  !(content MATCH 'exption');

  1. 函数:exists
  2. 函数功能说明:查找文档中是否包含指定字段或没有某个字段
  3. 参数说明:
  4. 返回值说明:
  5. ES使用示例:
{"query": {"exists": { "field": "title"}}
}
  1. Doris使用示例:
select * from httplogs where title IS NOT NULL;

  1. 函数:sum
  2. 函数功能说明:
  3. 参数说明:
  4. 返回值说明:
  5. ES使用示例:
{"aggs": {"hat_prices": { "sum": { "field": "price" } }}
}
  1. Doris使用示例:
select sum(price) from example_table

  1. 函数:date_histogram
  2. 函数功能说明:按照日期时间聚合分析数据
  3. 参数说明:
  4. 返回值说明:
  5. ES使用示例:
    GET cars/index/_search
{"size":0,"aggs": {"sales": {"date_histogram": {//按照日期时间聚合分析数据"field": "event_time",//分组字段"interval": "1d",//安天分组"format": "yyyy-MM-dd",//日期格式"min_doc_count": 0// 没有数据的日志返回0}}}
}
  1. Doris使用示例:
select DAY_FLOOR(event_time) as dayfrom car group by day;

相关文章:

  • 删除list中除最后一个之外所有的数据
  • 深入理解Zookeeper系列-1.初识Zoookeeper
  • Redis主从与哨兵架构详解
  • 函数声明与函数表达式
  • springboot+jsp+java房屋销售出租赁网站的ssm设计与实现7xcvq
  • 深入了解Java8新特性-日期时间API:OffsetDateTime类
  • RocketMQ-快速实战
  • docker-compose;私有镜像仓库harbor搭建;镜像推送到私有仓库harbor
  • 【开源】基于JAVA的大病保险管理系统
  • matlab 混沌动力学行为-分岔图-李雅普指数等
  • 推荐几款python在线学习和电子书网站
  • 带你手搓阻塞队列——自定义实现
  • 【UGUI】Unity教程:实现物品的拖拽功能
  • SpringBoot+mysql+vue实现大学生健康档案管理系统前后端分离
  • MySQL数据库的备份与恢复
  • 【跃迁之路】【641天】程序员高效学习方法论探索系列(实验阶段398-2018.11.14)...
  • Java知识点总结(JDBC-连接步骤及CRUD)
  • Js基础知识(一) - 变量
  • js作用域和this的理解
  • MySQL Access denied for user 'root'@'localhost' 解决方法
  • python大佬养成计划----difflib模块
  • Spark学习笔记之相关记录
  • TypeScript实现数据结构(一)栈,队列,链表
  • 二维平面内的碰撞检测【一】
  • 前言-如何学习区块链
  • 原生 js 实现移动端 Touch 滑动反弹
  • Oracle Portal 11g Diagnostics using Remote Diagnostic Agent (RDA) [ID 1059805.
  • 正则表达式-基础知识Review
  • ​​​​​​​ubuntu16.04 fastreid训练过程
  • ​MPV,汽车产品里一个特殊品类的进化过程
  • ​如何防止网络攻击?
  • # 20155222 2016-2017-2 《Java程序设计》第5周学习总结
  • #鸿蒙生态创新中心#揭幕仪式在深圳湾科技生态园举行
  • #我与Java虚拟机的故事#连载19:等我技术变强了,我会去看你的 ​
  • (备忘)Java Map 遍历
  • (二)JAVA使用POI操作excel
  • (附源码)python房屋租赁管理系统 毕业设计 745613
  • (解决办法)ASP.NET导出Excel,打开时提示“您尝试打开文件'XXX.xls'的格式与文件扩展名指定文件不一致
  • (六)vue-router+UI组件库
  • (十三)Maven插件解析运行机制
  • ./configure,make,make install的作用
  • .NET CLR基本术语
  • .Net 代码性能 - (1)
  • .net(C#)中String.Format如何使用
  • .net遍历html中全部的中文,ASP.NET中遍历页面的所有button控件
  • .net最好用的JSON类Newtonsoft.Json获取多级数据SelectToken
  • @DataRedisTest测试redis从未如此丝滑
  • @德人合科技——天锐绿盾 | 图纸加密软件有哪些功能呢?
  • [ C++ ] STL_stack(栈)queue(队列)使用及其重要接口模拟实现
  • [2024] 十大免费电脑数据恢复软件——轻松恢复电脑上已删除文件
  • [8481302]博弈论 斯坦福game theory stanford week 1
  • [AIGC] MySQL存储引擎详解
  • [AUTOSAR][诊断管理][ECU][$37] 请求退出传输。终止数据传输的(上传/下载)
  • [Big Data - Kafka] kafka学习笔记:知识点整理
  • [C]编译和预处理详解