本篇内容主要讲解“Elasticsearch7有什么优点”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Elasticsearch7有什么优点”吧!

创新互联公司-专业网站定制、快速模板网站建设、高性价比正宁网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式正宁网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖正宁地区。费用合理售后完善,10多年实体公司更值得信赖。
Elasticsearch7与之前版本最大的区别就是舍弃了type的概念,默认的type为"_doc"。
先建索引
PUT /shop
dynamic,推荐用strict
dynamic设为true时,新增字段的文档写入时,Mapping同时被更新
dynamic设为false时,Mapping不会被更新,新增字段的数据无法被索引,但是会出现在_source中
dynamic设为strict,文档将写入失败
修改dynamic参数
POST /shop/_mapping
{
"dynamic": strict
}text类型 可以被分词 但是 keyword 分词是不能用的 要全匹配
修改或新增mapping字段type
POST /shop/_mapping
{
"properties":{
"name":{
"type":"text",
},
"content":{
"type":"text",
"analyzer": "ik_max_word",
"search_analyzer": "ik_smart"
},
"createTime":{
"type":"date",
"format": "yyyy-MM-dd HH:mm:ss"
}
}
}新增数据:
-POST shop/_doc/558pa4e2
{
"name":"圆领韩版学生男女毛衣秋冬装上装",
"breif":"150件左右圆领韩版学生男女毛衣秋冬装,长袖宽松套头情侣装针织衫上衣",
"minPrice":"15",
"sn":"558pa4e2",
"createTime":"2019-10-07 14:30:23",
"sort":"100",
"tags":"9月第2波"
}为索引添加别名
-POST /_aliases
{
"actions": [
{
"add": {
"index": "shop-item",
"alias": "shop-item-alias"
}
}
]
}分词器测试:
POST /_analyze
{
"analyzer": "ik_smart",
"text": "关于加快建设合肥地铁七号线的通知说明"
}单字段查询:在name中查询有"女装"的数据
POST /shop/_doc/_search
{
"query":{
"match":{
"name":"女装"
}
}
}单字段查询:在name中查询有"女装"的数据,且只返回name、brief数据
POST /shop/_doc/_search
{
"query":{
"match":{
"name":"女装"
}
},
"_source": ["name","brief"]
}分页查询
POST /shop/_doc/_search
{
"query":{
"match":{
"name":"女装"
}
},
"_source": ["name","brief"],
"from":0,
"size":10
}排序,在name中查询有"女装"的数据,并按createTime倒序
{
"query":{
"match":{
"name":"女装"
}
},
"sort":{
"createTime": {
"order": "desc"
}
}
}多字段排序,排序,在name中查询有"女装"的数据,先按sort字段排序,如果相同再按createTime倒序
{
"query":{
"match":{
"name":"女装"
}
},
"sort": {
"sort":"asc",
"createTime": "desc"
}
}查询"name"字段中包含"女装"和"品牌"的所有数据
POST /shop/_doc/_search
{
"query": {
"bool": {
"must": [
{
"match": {
"name": "品牌"
}
},
{
"match": {
"name": "女装"
}
}
]
}
}
}查询"name"字段中包含"女装"或"品牌"的所有数据
POST shop/_doc/_search
{
"query": {
"bool": {
"should": [
{
"match": {
"name": "品牌"
}
},
{
"match": {
"name": "女装"
}
}
]
}
}
}查询"name"字段中既不包含"女装"也不包含"品牌"的所有数据
POST /shop/_doc/_search
{
"query": {
"bool": {
"must_not": [
{
"match": {
"name": "品牌"
}
},
{
"match": {
"name": "女装"
}
}
]
}
}
}多字段查询:在name,与brief中查询有"女装"的数据
POST /shop/_doc/_search
{
"query":{
"multi_match":{
"query":"女装",
"fields":["name","brief"]
}
}
}精确查找:查找tags既属于“9月第1波”又属于"9月第2波"的数据(terms用于精确查找,一般用于非text字段)
POST /shop/_doc/_search
{
"query":{
"bool":{
"must":[
{"term":{
"tags":"9月第1波"
}},
{"term":{
"tags":"9月第2波"
}}
]
}
}
}过滤器的用法,filter的效率高,尽可能的用filter
POST /shop/_doc/_search
{
"query":{
"bool":{
"filter":[
{
"term":{"tags":"9月第1波"}
},
{
"term":{"tags":"9月第2波"}
}
]
}
}
}范围查询
POST /shop/_doc/_search
{
"query":{
"range":{
"minPrice":{
"gte":"4",
"lte":"5"
}
}
}
}简单聚合
POST /shop/_doc/_search
{
"aggs":{
"tagsGroup":{
"terms":{
"field":"tags"
}
},
"priceGroup":{
"terms":{
"field":"minPrice"
}
}
}
}到此,相信大家对“Elasticsearch7有什么优点”有了更深的了解,不妨来实际操作一番吧!这里是创新互联网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
标题名称:Elasticsearch7有什么优点
网站URL:http://www.jxjierui.cn/article/jijedc.html


咨询
建站咨询
