es基本语句详解 查询语句详解

91 阅读1分钟

新增、更新

  • put 手动定义id是1
  • post 自定生成id

执行成功后,version - 表明该数据修改过几次

result - created/updated

PUT /lay_shop/_doc/1
{
  "name":"dog",
  "shuliang":1,
  "price":10000000
}
POST /lay_shop/_doc/
{
  "name":"pig",
  "shuliang":1,
  "price":999
}
      {
        "_index" : "lay_shop",
        "_type" : "_doc",
        "_id" : "2",
        "_score" : 1.0,
        "_source" : {
          "name" : "pig",
          "shuliang" : 1,
          "price" : 999
        }
      },
      {
        "_index" : "lay_shop",
        "_type" : "_doc",
        "_id" : "5uMLMYcBbqTeXWlo0rMv",
        "_score" : 1.0,
        "_source" : {
          "name" : "pig",
          "shuliang" : 1,
          "price" : 999
        }
      },

删除

delete /index/type/id 删除表中某一行

delete /index 删除表

查询

条件

布尔值查询–多条件查询
must命令:所有的条件都要符合,and

should 或操作

must_not 非操作

image.png

过滤器:范围查找

lt : 小于
gt : 大于
lte : 小于等于
gte : 大于等于
匹配多个条件:
多条件使用空格进行分割就可以
只要满足其中一个就可以查出
可以根据权重分支score 判断

image.png 精确查找

  • term 查询是直接通过倒排索引指定的字条进程精确查找!

关于分词:

  • term,直接查询精确的
  • match,会使用分词器解析!( 先分析文档,然后在通过分析的文档进行查询 !)

两个类型 text keyword

创建demo索引,一个是text类型,一个是keyword类型

使用term

一下两个查询,第一个根据name 是txt类型。所以只要有一个值,就会被匹配到。
第二个是根据desc 是keyword类型。 必须完全匹配才可以查询到

image.png

image.png

结果过滤

排序

分页

select from tb_a left join tb_b on tb_a.id = tb_b.id

select * from dmgr_view.PT16CC_PCMS_COMPLAINT_CASE_T a left join dmgr_view.PT16CC_pcms_complaint_person_t b on a.id = b.id

select * from idsrpt.cx_rstatus_log a left join idsrpt.cx_rstatus_log_dtl b on a.workdate = b.workdate where a.proc_name='ix_hzb_cxhb_t' limit 10;