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 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> ElasticSearch 进阶 (高级查询) -> 正文阅读

[大数据]ElasticSearch 进阶 (高级查询)

需要了解elasticSearch基础入门可以查看https://blog.csdn.net/u014232211/article/details/120026239

下面的例子基于这份数据来查询

?

高级查询

a.子条件查询 特定字段查询所指特定值

  • Query Contexy:
    • 概念: 在查询过程中,除了判断文档是否满足查询条件外,ES还会计算一个_score来表示匹配程度,旨在判断目标文档和查询条件匹配的有多好/多么吻合。
    • 全文本查询: 针对文本类型数据
      • 模糊匹配(查询author的数据是problem1的蔬果)
        {
            "query":{
                "match":{
                    "author": "problem1"
                }
            }
        }
      • 其余匹配(整个字段匹配,不拆分单词去匹配)
        {
            "query":{
                "match_phrase":{
                    "title": "NBA333"
                }
            }
        }
      • 多个字段匹配 (author和titile中包含NBA333的字段)
        {
            "query":{
                "multi_match":{
                    "query": "NBA333",
                    "fields": ["author","title"]
                }
            }
        }
      • ?字符串查询
        {
            "query":{
                "query_string":{
                    "query": "problem1 AND problem2",
                    "fields": ["author"]
                }
            }
        }
    • 字段级别查询: 针对结构化数据,如数字、日期等

      • ??字段查询
        {
            "query":{
                "term":{
                    "word_count": "2000"
                }
            }
        }
      • 范围查询
        {
            "query":{
                "range":{
                    "word_count": {
                        "gte": 1000,
                        "lte": 2000000
                    }
                }
            }
        }

        (日期类型)

        {
            "query":{
                "range":{
                    "publish_date": {
                        "gte": "2021-01-01",
                        "lte": "2021-02-02"
                    }
                }
            }
        }
  • Filter Context
    • 概念:在查询过程中,只判断文档是否满足条件,只有Yes或者No
    • filter要配合bool一起使用,filter结果es会缓存,查询比文本块
    • eg:
      {
          "query":{
              "bool":{
                  "filter":{
                      "term":{
                          "word_count": 2000
                      }
                  }
              }
          }
      }

b.复合条件查询 以一定的逻辑组合子条件查询

  • 固定分数查询:
    {
        "query":{
            "constant_score":{
                "filter":{
                    "match":{
                        "author":"problem1"
                    }
                },
                "boost":10
            }
            
        }
    }
  • 布尔查询:
    {
        "query":{
            "bool":{
               "should":[
                   {
                       "match":{
                            "author": "problem1"
                       }
                   },
                   {
                       "match":{
                            "title": "男孩"
                       }
                   }
               ]
            }  
        }
    }
    {
        "query":{
            "bool":{
               "must_not":[
                   {
                       "match":{
                            "author": "problem1"
                       }
                   },
                   {
                       "match":{
                            "title": "男孩"
                       }
                   }
               ],
               "filter":{
                   "term":{
                        "word_count": 5000
                    }
               }
            }  
        }
    }

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-09-05 11:05:11  更:2021-09-05 11:05:56 
 
开发: 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 17:15:24-

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