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

Posted Lansonli

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2021年大数据ELK(十六):Elasticsearch SQL(职位查询案例)相关的知识,希望对你有一定的参考价值。

全网最详细的大数据ELK文章系列,强烈建议收藏加关注! 

新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点。

目录

职位查询案例

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

二、将SQL转换为DSL

三、职位scroll分页查询

1、第一次查询

2、第二次查询

3、清除游标

四、职位全文检索

1、需求

2、MATCH函数

3、实现


职位查询案例

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

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

// 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

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"

  • 📢博客主页:https://lansonli.blog.csdn.net
  • 📢欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!
  • 📢本文由 Lansonli 原创,首发于 CSDN博客🙉
  • 📢大数据系列文章会每天更新,停下休息的时候不要忘了别人还在奔跑,希望大家抓紧时间学习,全力奔赴更美好的生活✨

以上是关于2021年大数据ELK(十六):Elasticsearch SQL(职位查询案例)的主要内容,如果未能解决你的问题,请参考以下文章

2021年大数据ELK:集中式日志协议栈Elastic Stack简介

2021年大数据ELK:集中式日志协议栈Elastic Stack简介

2021年大数据ELK:Elasticsearch架构原理

2021年大数据ELK:Elasticsearch架构原理

2021年大数据ELK:Elasticsearch简单介绍

2021年大数据ELK:Elasticsearch简单介绍