zoukankan      html  css  js  c++  java
  • (12)ElasticSearch 基本查询(Query查询)

      1、数据准备

    PUT /lib
    {
        "settings":{
            "number_of_shards":3,
            "number_of_replicas":0
          },
            "mappings":{
                "user":{
                    "properties":{
                        "name":{"type":"text"},
                        "address":{"type":"text"},
                        "age":{"type":"integer"},
                        "interests":{"type":"text"},
                        "birthday":{"type":"date"}
                    }
                }
            }
    }
    put /lib/user/1
    {
        "name":"zhaoliu",
        "address":"hei long jiang sheng tie ling shi",
        "age":50,
        "birthday":"1970-12-12",
        "interests":"xi huang hejiu,duanlian,lvyou"
    }
    
    put /lib/user/2
    {
        "name":"zhaoming",
        "address":"bei jing hai dian qu qing he zhen",
        "age":20,
        "birthday":"1998-10-12",
        "interests":"xi huan hejiu,duanlian,changge"
    }
    
    put /lib/user/3
    {
        "name":"lisi",
        "address":"bei jing hai dian qu qing he zhen",
        "age":23,
        "birthday":"1998-10-12",
        "interests":"xi huan hejiu,duanlian,changge"
    }
    
    put /lib/user/4
    {
        "name":"wangwu",
        "address":"bei jing hai dian qu qing he zhen",
        "age":26,
        "birthday":"1998-10-12",
        "interests":"xi huan biancheng,tingyinyue,lvyou"
    }
    
    put /lib/user/5
    {
        "name":"zhangsan",
        "address":"bei jing chao yang qu",
        "age":29,
        "birthday":"1988-10-12",
        "interests":"xi huan tingyinyue,changge,tiaowu"
    }

      2、查询

      GET /lib/user/_search?q=name:lisi  查询name是lisi的记录

      GET /lib/user/_search?q=interests:changge&sort=age:desc  查询兴趣包含唱歌的,并且按照年龄倒序排序

      term、terms查询:

      term 查询会去倒排索引中寻找确切的term,它并不知道分词器的存在,这种查询适合keyword、numeric、date。

      term:查询某个字段里含有某个关键词的文档

      (1)查询name是zhaoliu的:

    GET /lib/user/_search/
    {
        "query":{
            "term":{"name":"zhaoliu"}
        }
    }

      (2)查询兴趣包含喝酒或者唱歌的:

    get /lib/user/_search
    {
        "query":{
            "terms":{
                "interests":["hejiu","changge"]
            }
        }
    }

      (3)查询兴趣包含喝酒或者唱歌的,下标从0开始,取出两个:

    get /lib/user/_search
    {
        "from":0,
        "size":2,
        "query":{
            "terms":{
                "interests":["hejiu","changge"]
            }
        }
    }

       (4)显示版本号

    GET /lib/user/_search
    {
      "version":true,
      "query":
        {
          "terms":{"interests":["hejiu","changge"]}
        }
    }
  • 相关阅读:
    vsCode 使用 PHP Intelephense插件函数跳转跟踪
    acme.sh 生成证书一直卡在Getting domain auth token for each domain
    用命令行执行php脚本输出乱码
    js检测是否是手机平台
    个人知识结构索引
    离线环境下安装ansible,借助有网环境下pip工具
    zabbix之微信告警(python版):微信个人报警,微信企业号告警脚本
    使用ansible结合FTP部署zabbix_agent
    datax的可视化-datax-web
    Finereport决策报表
  • 原文地址:https://www.cnblogs.com/javasl/p/11405387.html
Copyright © 2011-2022 走看看