elasticsearch笔记

所有查询都是以query包括的

简单查询

match_all:{}查询全部数据

from :1//从哪里开始

size:1//总条数

{

  query{

    match{

      testtitle:'sdsdasdasdas',

    } 

  },

  sort:[

    dates:{order:desc}

  ]

}

聚合查询

{

  aggs{//固定聚合函数

    group_by_word_count{//聚合

      terms{//固定聚合函数

        field:word_count

      }

    },

    group_by_dates_count:{//多聚合

      terms{//固定聚合函数

        field:pu_data

      }

    },

    grouads_count{//统计

      "stats"{//固定聚合函数

        field:word

      }

    }

  }  

}

聚合也 可以使用min max stats统计

模糊匹配 match {"title":'elasticsearch入门'}会匹配elasticsearch和入门两个词

其余匹配match_phrase {"title":'elasticsearch入门'}只匹配内容中的

多字段匹配查询multi_match{

 "query":'测试',

''fields":['1111','2222'],

}

语法查询query_string:{

"query":"(aa AND bb) OR CC"//查询内容

"fields":['title','age']//查询字段

}

term字数在某一指定里的查询

term{

   "ziduan":1000//ziduan在1000内的查询

}

range:{  //范围查询

  "word_count":{

    "gte":1000,//大于等于1000

    "lte"2000//小与等于2000   如果只要小与用lt

  }

}

子条件查询

bool{

  filter{//需求过滤比query快

    term{

      word_countddd:1000

    }

  }

}

复合条件查询

  固定分数查询

  {

query:{

constant_score:{//固定分数查询

  filter:{

  title:1111

}}}}

  布尔查询

bool

should布尔查询,只要满足一个条件就可以

{

query:{

  bool:{

  should:[

    {

      match:{

      aaa:12

      }

    },

    {

      match:{

        title:111

      }

    }

]

}

}

}

must 必须满足条件

must_not 一定不能满足的查询

posted on 2018-04-12 21:17  我很迷茫  阅读(145)  评论(0编辑  收藏  举报