zoukankan      html  css  js  c++  java
  • (九)ElasticSearch高级查询语法

    一 子条件查询:特定字段查询所指特定值。分为:Query context和Filter context
    1 Query context
    概念:在查询中,除了判断文档是否满足查询条件外,ES还会计算一个_score来标识匹配的程度,旨在判断目标文档和查询条件匹配有多好;常用的查询有: 全文本查询 -针对文本类型数据。 字段级别查询 -针对结构化数据,如数字、日期等。
    1-1 全文本查询:分类-模糊匹配(关键词match)、习语匹配(match_phrase)、多字段匹配(multi_match)、语法查询
    1) 模糊查询:

    模糊查询结果:

    2) 习语查询:

    习语查询结果:

    3) 多字段查询:

    多字段查询结果:

    4) 语法查询:根据一定的语法规则进行的查询。支持通配符、范围查询、布尔查询、正则表达式等

    结果:


    结果:

    1-2 字段查询
    1) 查询特定项:

    查询特定项结果:

    2) 范围查询:

    范围查询结果:

    3) 日期范围查询:

    日期范围查询结果:

    2 Filter context
    概念:以一定的逻辑组合子条件查询。在查询过程中,只判断该文档是否满足条件,只有YES或者NO。做数据过滤,ES会对其结果进行缓存,所以相对Query快一些。要结合布尔(bool)使用。
    结果:

    二 复合条件查询:主要介绍固定分数查询(将查询的评估固定下来,不支持match,只支持filter)、布尔查询
    1 固定分数查询
    1 )不指定分数,ES估算匹配度,计算分数,默认从大到小排序

    结果:

    2) 固定分数

    结果:

    3) 直接指定分数

    结果:

    2 布尔查询
    1) should-或的关系,满足一个条件即可

    结果:

    2) must的使用,必须满足所有条件

    结果:

    3)must与filter组合,由于我的数据没有满足条件的结果,预测查询结果为null

    结果:

    4) must对立关键词,表示必须不能满足该条件

    结果:

    只有把命运掌握在自己手中,从今天起开始努力,即使暂时看不到希望,也要相信自己。因为比你牛几倍的人,依然在努力。
  • 相关阅读:
    .NET中操作SQLite
    Visual Studio 快捷键
    ADO.NET入门教程(三) 连接字符串,你小觑了吗?
    ADO.NET入门教程(二)了解.NET数据提供程序
    Xaml语法概述及属性介绍
    Csharp日常笔记
    C#基础
    PAT-L3-球队“食物链”-dfs-状压-set
    TOJ1302: 简单计算器 && TOJ 4873: 表达式求值&&TOJ3231: 表达式求值
    TOJ 3973 Maze Again && TOJ 3128 简单版贪吃蛇
  • 原文地址:https://www.cnblogs.com/freesky168/p/14358264.html
Copyright © 2011-2022 走看看