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"]}
        }
    }
  • 相关阅读:
    如何快速且深入的学习一门新技术
    为什么说云原生会成为未来企业技术变迁的趋势
    高并发场景下锁的使用技巧
    开箱即用~基于.NET Core的敏捷开发框架规划
    为什么在做微服务设计的时候需要DDD?
    为什么我使用了索引,查询还是慢?
    解读中兴通信在物联网行业如何践行DDD
    服务发现技术是如何演进出来的?
    关于盘点和总结的那点事儿
    文件上传 通过 ServletContext.getRealPath()获取不到路径&war与war exploded的区别
  • 原文地址:https://www.cnblogs.com/javasl/p/11405387.html
Copyright © 2011-2022 走看看