ElasticSearch 7 使用

这是我参与8月更文挑战的第16天,活动详情查看:8月更文挑战

如果❤️我的文章有帮助,欢迎点赞、关注。这是对我继续技术创作最大的鼓励。更多往期文章在我的个人专栏

ElasticSearch 7 使用实践

索引

创建索引

这个API用来创建索引,当用户将JSON对象传递给索引时,可以自动创建索引,也可以在此之前手动创建索引。要创建索引,您只需要发送一个带有settings、mappings和aliases的post请求,或者只发送一个不带正文的简单请求。例如,

PUT /material_pass_category
{
  "settings": {
    "number_of_shards": 3,
    "number_of_replicas": 1
  },
  "mappings": {
    "properties": {
        "bak_code": {
          "type": "text"
        },
        "category": {
          "type": "keyword"
        },
        "collection_num": {
          "type": "integer"
        },
        "cost": {
          "type": "long"
        },
        "create_time": {
          "type": "date",
          "format": "yyyy-MM-dd HH:mm:ss || yyyy-MM-dd || epoch_millis"
        },
        "file_name": {
          "type": "text",
          "fielddata": true
        },
        "half_year_pay_precent": {
          "type": "float"
        },
        "half_year_roi": {
          "type": "float"
        },
        "show_file_name": {
          "type": "text",
          "fielddata": true
        }
      }
  }
}
复制代码

删除索引

删除索引, 需要发起 DELETE 请求

DELETE http://localhost:9200/material_pass_category
复制代码

也可以直接使用 curl -X DELETE http://localhost:9200/material_pass_category 删除

文档

创建文档

POST http://localhost:9200/material_pass_category/_doc/
{
    "m_id": 59108,
    "source_id": 304282,
    "file_name": "0714zw\u5973\uff09-\u7ad6\u7248 -514e1.mp4",
    "show_file_name": "0714zw\u5973\uff09-\u7ad6\u7248 -514e1.mp4",
    "file_src": "material_pass\/zhangwsan\/",
    "user_id": 378,
    "user_name": "zhangwsan",
    "designer_name": "\u5f20",
    "file_name_aggs": "0714zw\u5973\uff09-\u7ad6\u7248 -514e1.mp4",
    "material_size": "1080x1920",
    "creativity_first": ",448,",
    "creativity_second": ",2408,",
    "creativity_third": ",2398,",
    "free_tag": ",\u771f\u4eba\u5267\u60c5, ,\u5f02\u517d, ,UE4, ,\u5f02\u517d, ,\u5f02\u517d\u5bf9\u6bd4, ,\u5373\u5408, ,\u5f02\u517d\u56de\u6536, ,\u7535\u68af, ,\u5f02\u517d\u6355\u6349, ,\u6211\u5728\u6c5f\u6e56, ,\u4ed9\u4fa0, ,\u89c6\u9891, ,1080x1920, ,ALL,",
    "game": ",968,",
    "game_type": ",36,",
    "material_pass": ",41,",
    "platform": ",133,",
}
复制代码

查询

GET /material_pass_category/_search?q=title:Beautiful Mind
{
	"profile":"true"
}
复制代码

Request Body 与 Query DSL

#ignore_unavailable=true,可以忽略尝试访问不存在的索引“404_idx”导致的报错
#查询 material_pass_category 分页
POST /material_pass_category,404_idx/_search?ignore_unavailable=true
{
  "profile": true,
	"query": {
		"match_all": {}
	}
}

POST /kibana_sample_data_ecommerce/_search
{
  "from":10,
  "size":20,
  "query":{
    "match_all": {}
  }
}


#对日期排序
POST kibana_sample_data_ecommerce/_search
{
  "sort":[{"order_date":"desc"}],
  "query":{
    "match_all": {}
  }

}

#source filtering
POST kibana_sample_data_ecommerce/_search
{
  "_source":["order_date"],
  "query":{
    "match_all": {}
  }
}


#脚本字段
GET kibana_sample_data_ecommerce/_search
{
  "script_fields": {
    "new_field": {
      "script": {
        "lang": "painless",
        "source": "doc['order_date'].value+'hello'"
      }
    }
  },
  "query": {
    "match_all": {}
  }
}


POST material_pass_category/_search
{
  "query": {
    "match": {
      "title": "last christmas"
    }
  }
}

POST material_pass_category/_search
{
  "query": {
    "match": {
      "title": {
        "query": "last christmas",
        "operator": "and"
      }
    }
  }
}

POST material_pass_category/_search
{
  "query": {
    "match_phrase": {
      "title":{
        "query": "one love"

      }
    }
  }
}

POST material_pass_category/_search
{
  "query": {
    "match_phrase": {
      "title":{
        "query": "one love",
        "slop": 1

      }
    }
  }
}

复制代码

相关阅读

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享