zoukankan      html  css  js  c++  java
  • elasticsearch kibana简单查询

    kibana CRUD 操作页面



    一、简单的CRUD操作

      1、添加

        PUT /index/type/id
        {
            "json数据"
        }

      2、查询

        GET /index/type/id

      3、修改

        POST /index/type/id/_update

          {
              "doc": {
                "FIELD": "值"
               }
          }

      4、删除

        DELETE /index/type/id




    二、搜索   搜索可以分成六大类

      1、query string search
      2、query DSL
      3、query filter
      4、full-text search
      5、phrase search
      6、highlight search


      1)query string search

        搜索全部:GET supplier/user/_search

          {
              "took": 2,
                "timed_out": false,
                "_shards": {
                  "total": 5,
                  "successful": 5,
                  "failed": 0
            },
          "hits": {
                "total": 3,
                "max_score": 1,
                "hits": [
              {
                  "_index": "supplier",
                  "_type": "user",
                  "_id": "2",
                  "_score": 1,
                  "_source": {
                   "name": "lisi",
                   "age": 26,
                  "address": "bei jing tong zhou",
                  "price": 10000,
                  "dept": [
                    "kaifabu"
                  ]
                }
              },
              {
            "_index": "supplier",
            "_type": "user",
            "_id": "1",
            "_score": 1,
            "_source": {
              "name": "zhangsan",
              "age": 30,
              "address": "bei jing chang chun jie",
              "price": 15000,
              "dept": [
                "kaifabu",
                "yanfabu"
              ]
            }
          },
          {
            "_index": "supplier",
            "_type": "user",
            "_id": "3",
            "_score": 1,
            "_source": {
              "name": "wangwu",
              "age": 26,
              "address": "bei jing tong zhou yun he ming zhu",
              "price": 13000,
              "dept": [
                "kaifabu"
              ]
            }
          }
        ]
      }
    }

        took:耗费了几毫秒

        timed_out:是否超时,这里是没有

        _shards:数据拆成了5个分片,所以对于搜索请求,会打到所有的primary shard(或者是它的某个replica shard也可以)

        hits.total:查询结果的数量,3个document

        hits.max_score:score的含义,就是document对于一个search的相关度的匹配分数,越相关,就越匹配,分数也高

        hits.hits:包含了匹配搜索的document的详细数据

      2、query DSL

        查询所有

          GET supplier/user/_search
          {
              "query": { "match_all": {} }
          }

       查询全部并且排序

        GET suppluer/user/_search
         {
            "query": {
              "match_all": {}
          }
          , "sort": [
            {
              "price": {
                "order": "desc"
            }
          }
        ]
      }

      分页查询

      GET supplier/user/_search
        {
          "query": { "match_all": {} },
          "from": 1,
          "size": 1
        }

      指定要查询显示的field

        GET supplier/user/_search
         {
            "query": { "match_all": {} },
            "_source": ["name", "price"]
         }

      3、query filter

        搜索name为‘lisi’并且price大于1500的

        GET supplier/user/_search
        {
            "query" : {
                "bool" : {
                    "must" : {
                        "match" : {
                            "name" : "lisi"
                          }
                    },
                    "filter" : {
                        "range" : {
                            "price" : { "gt" : 1500}
                        }
                    }
                }
            }
        }

      4、full-text search(全文检索)

      address这个字段,会先被拆解,建立倒排索引

       GET /ecommerce/product/_search
        {
            "query" : {
                "match" : {
                    "address" : "bei jing"
                }
            }
        }

      5、phrase search(短语搜索)

        跟全文检索相对应,相反,全文检索会将输入的搜索串拆解开来,去倒排索引里面去一一匹配,只要能匹配上任意一个拆解后的单词,就可以作为结果返回
        phrase search,要求输入的搜索串,必须在指定的字段文本中,完全包含一模一样的,才可以算匹配,才能作为结果返回

        GET /ecommerce/product/_search
        {
            "query" : {
                "match_phrase" : {
                    "address" : "bei jing"
                }
            }
        }
       6、highlight search(高亮搜索结果)

      GET /ecommerce/product/_search
      {
          "query" : {
              "match" : {
                  "address" : "bei jing"
              }
          },
          "highlight": {
              "fields" : {
                  "address" : {}
              }
          }
      }






    原 文

  • 相关阅读:
    Spring URL重写
    DOUBLE精度问题
    激光推送一
    log4j打印debug日志问题
    dpkg:处理 xxx (--configure)时出错解决办法,也可用于卸载软件出错的情况
    Ubuntu中配置tomcat
    Ubuntu16.04安装Eclipse
    删除mysql数据库后django重建数据库
    MySQL修改root密码
    django1.9和mysql
  • 原文地址:https://www.cnblogs.com/zhukaixin/p/10655064.html
Copyright © 2011-2022 走看看