前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >大数据ELK(十六):Elasticsearch SQL(职位查询案例)

大数据ELK(十六):Elasticsearch SQL(职位查询案例)

作者头像
Lansonli
修改2022-10-08 11:24:53
4720
修改2022-10-08 11:24:53
举报
文章被收录于专栏:Lansonli技术博客

职位查询案例

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

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

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

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

格式

描述

csv

逗号分隔符

json

JSON格式

tsv

制表符分隔符

txt

类cli表示

yaml

YAML人类可读的格式

二、将SQL转换为DSL

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

三、职位scroll分页查询

1、第一次查询

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

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

2、第二次查询

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

3、清除游标

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

四、职位全文检索

1、需求

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

2、MATCH函数

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

代码语言:javascript
复制
MATCH(
    field_exp,   
    constant_exp 
    [, options]) 
  • field_exp:匹配字段
  • constant_exp:匹配常量表达式

3、实现

代码语言:javascript
复制
GET /_sql?format=txt
{
    "query": "select * from job_idx where MATCH(title, 'hadoop') or MATCH(jd, 'hadoop') limit 10"
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021/12/05 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 职位查询案例
    • 一、查询职位索引库中的一条数据
      • 二、将SQL转换为DSL
        • 三、职位scroll分页查询
          • 1、第一次查询
          • 2、第二次查询
          • 3、清除游标
        • 四、职位全文检索
          • 1、需求
          • 2、MATCH函数
          • 3、实现
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档