• elasticsearch查询方式


    1.query string

    a).GET /index/type/_search  ===>>查询所有
    
    b).GET /index/type/_search?q=filed:value&sort=filed:desc  ===>> 以某个属性的值查询,并排序
    

    2. query dsl(Domain Specified Language 特定领域的语言)

    a).查询所有
    GET /index/type/_search
    {
         "query" : {
        "match_all" : {}
      }
    }
    b). 查询包含的值,同时排序
    GET /index/type/_search
    {
        "query":{
               "match"{
                     "filed"":"value"
                }
         },
         "sort":[
              {"filed": "desc"}
          ]
    
    }
    c).分页查询: from:从第几条开始,size:查询几条
    GET /index/type/_search
    {
           "query" :{ 
                "match_all":{}
           } ,
            "from":1,
            "size":1 
    }
    

    3.filter查询

    GET /index/type/_search
    {
        "query": {
            "bool": {
                "must": {
                    "match": {
                        "filed": "value"
                    }
                }, 
                "filter": {
                    "range": {
                        "filed": {
                            "gt": "value"
                        }
                    }
                }
            }
        }
    }
    

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

    GET /index/type/_search
    {
        "query" : {
            "match" : {
                "filed" : "value"
            }
        }
    }
    

    5. 短语搜索(phrase search)

    GET /index/type/_search
    {
        "query": {
            "match_phrase": {
                "filed": "value"
            }
        }
    }
    

     *注: 短语搜索与全文检索的区别: 全文检索的时候,会先将字段以空格拆分,如   aa bb,统计每个拆分的词在各个文档(document)中出现的次数,而后以查询的值匹配拆分的词的相关度,随后进行返回.   短语搜索则不会进行相关度匹配,必须完全符合才能匹配

    6. 高亮搜索(highlight search)

    GET /index/type/_search
    {
        "query": {
            "match": {
                "filed": "value"
            }
        }, 
        "highlight": {
            "fields": {
                "filed": { }
            }
        }
    }
    

      

    *:在kabana查询时:如果不小心将 GET 误写成 get  返回结果会产生差异,并且不执行query body中的内容,具体问题有待解决

  • 相关阅读:
    wp8 入门到精通 测量代码执行时间
    过滤器——Filter
    hisui培训笔记
    监听器——servlet
    easyui导出excel表格和遇到的问题
    Java自定义注解
    Json
    Ajax
    探索Java中new一个对象时发生了什么
    SpringBoot常用注解
  • 原文地址:https://www.cnblogs.com/m-bianbian/p/9006191.html
Copyright © 2020-2023  润新知