写点什么

大数据 ELK(十六):Elasticsearch SQL

作者:Lansonli
  • 2022 年 10 月 08 日
    广东
  • 本文字数:903 字

    阅读完需:约 3 分钟

大数据ELK(十六):Elasticsearch SQL

职位查询案例

一、查询职位索引库中的一条数据

format:表示指定返回的数据类型

// 1. 查询职位信息GET /_sql?format=txt{    "query": "SELECT * FROM job_idx limit 1"}
复制代码


除了 txt 类型,Elasticsearch SQL 还支持以下类型

二、将 SQL 转换为 DSL

GET /_sql/translate{    "query": "SELECT * FROM job_idx limit 1"}
复制代码


三、职位 scroll 分页查询

1、第一次查询

// 2. scroll分页查询GET /_sql?format=json{    "query": "SELECT * FROM job_idx",    "fetch_size": 10}
复制代码


fetch_size 表示每页显示多少数据,而且当我们指定 format 为 Json 格式时,会返回一个 cursor ID

2、第二次查询

GET /_sql?format=json{    "cursor": "5/WuAwFaAXNARFhGMVpYSjVRVzVrUm1WMFkyZ0JBQUFBQUFBQUFJZ1dUM054VUZaMk9YVlJWalowYkVJeFowUkdVak10ZHc9Pf8PCgFmBGFyZWEBBGFyZWEBB2tleXdvcmQBAAABZgNjbXABA2NtcAEHa2V5d29yZAEAAAFmA2VkdQEDZWR1AQdrZXl3b3JkAQAAAWYDZXhwAQNleHABB2tleXdvcmQBAAABZgJpZAECaWQBBGxvbmcAAAABZgJqZAECamQBBHRleHQAAAABZghqb2JfdHlwZQEIam9iX3R5cGUBB2tleXdvcmQBAAABZgJwdgECcHYBB2tleXdvcmQBAAABZgZzYWxhcnkBBnNhbGFyeQEHa2V5d29yZAEAAAFmBXRpdGxlAQV0aXRsZQEEdGV4dAAAAAL/Aw=="}
复制代码


3、清除游标

POST /_sql/close{    "cursor": "5/WuAwFaAXNARFhGMVpYSjVRVzVrUm1WMFkyZ0JBQUFBQUFBQUFJZ1dUM054VUZaMk9YVlJWalowYkVJeFowUkdVak10ZHc9Pf8PCgFmBGFyZWEBBGFyZWEBB2tleXdvcmQBAAABZgNjbXABA2NtcAEHa2V5d29yZAEAAAFmA2VkdQEDZWR1AQdrZXl3b3JkAQAAAWYDZXhwAQNleHABB2tleXdvcmQBAAABZgJpZAECaWQBBGxvbmcAAAABZgJqZAECamQBBHRleHQAAAABZghqb2JfdHlwZQEIam9iX3R5cGUBB2tleXdvcmQBAAABZgJwdgECcHYBB2tleXdvcmQBAAABZgZzYWxhcnkBBnNhbGFyeQEHa2V5d29yZAEAAAFmBXRpdGxlAQV0aXRsZQEEdGV4dAAAAAL/Aw=="}
复制代码


四、职位全文检索

1、需求

检索 title 和 jd 中包含 hadoop 的职位

2、MATCH 函数

在执行全文检索时,需要使用到 MATCH 函数

MATCH(    field_exp,       constant_exp     [, options]) 
复制代码


  • field_exp:匹配字段

  • constant_exp:匹配常量表达式

3、实现

GET /_sql?format=txt{    "query": "select * from job_idx where MATCH(title, 'hadoop') or MATCH(jd, 'hadoop') limit 10"}
复制代码


发布于: 刚刚阅读数: 5
用户头像

Lansonli

关注

微信公众号:三帮大数据 2022.07.12 加入

CSDN大数据领域博客专家,华为云享专家、阿里云专家博主、腾云先锋(TDP)核心成员、51CTO专家博主,全网六万多粉丝,知名互联网公司大数据高级开发工程师

评论

发布
暂无评论
大数据ELK(十六):Elasticsearch SQL_ES_Lansonli_InfoQ写作社区