微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

elasticsearch

https://zhuanlan.zhihu.com/p/524128889

  • 索引 (indices ):类似于我们的关系型数据库
  • 类型(type ):类似于数据库的表结构
  • 文档(Document ):类似于数据库表中的行,也就是具体的数据
  • 字段(Field ):雷雨时数据库表中的列
  • es5 版本:允许一个索引库下中可以创建多个类型
  • es6 版本:一个索引库下中只能创建一种类型
  • es7 版本:一个索引库不支持显式创建类型,当创建索引的时候,认会创建一个名称_doc的类型

因为一个索引库下,如果多个类型,会存在搜索问题,比如,类型 A 下某个字段order_source一个long型;类型 B 下,字段order_source一个text型。

这两个字段名称都是一样,实际存入 Lucene 中,也是同一个字段,但是他们的字段类型是不一样的,要么是long型,要么是text型,只会是其中一个,这就造成一个问题,类型 A 中order_source字段不可用,或者类型 B 中order_source字段不可用。

{ "query":{ "bool":{ "must":[ { "match":{ "name":"张" } }, { "match":{ "sex:"男" } } ] } } } { "query":{ "bool":{ "should":[ { "match":{ "name":"张" } }, { "match":{ "sex:"男" } } ] } } } { "query":{ "bool":{ "filter":{ "range":{ "age":{ "gt" : 25, "lt" : 50 } } } } } } { "aggs":{ "age_group":{ "terms":{ "field":"age" } } }, "size" : 0 } { "aggs" : { //聚合操作 "age_avf" : { //名称自定义 "avg" : { //分组 "field" : "age" //分组字段 } } }, "size" : 0 }


  • 排序
{ "query" : { "match_all" : { } }, "sort" : { "_id":{ "order" : "asc" } } }
{
   "query" : {
       "match_all" : {

       }
   },
   "_source" : ["name","sex"]
}



版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐