博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Elasticsearch 6.x 入门测试
阅读量:5876 次
发布时间:2019-06-19

本文共 4430 字,大约阅读时间需要 14 分钟。

首先听一下官方的话:

 

 

我尝试了使用Java作为Client向ES操作,结果发现这个家伙要引入大量的JAR包,而且还必须是JDK1.8!!!!!我只好使用python操作ES写入和操作数据了。

 

1、创建mapping

参考地址:

对应的python是这样的:

from elasticsearch import Elasticsearches_servers = [{    "host": "10.10.6.225",    "port": "9200"}]# 使用文档在这里:http://elasticsearch-py.readthedocs.io/en/master/es = Elasticsearch(es_servers)# 初始化索引的Mappings设置_index_mappings = {    "mappings": {        "doc": {            "properties": {                "title": {
"type": "text"}, "name": {
"type": "text"}, "age": {
"type": "integer"}, "created": { "type": "date", "format": "yyyy-MM-dd HH:mm:ss" } } } }}# 如果索引不存在,则创建索引if es.indices.exists(index='blog_index') is not True: es.indices.create(index='blog_index', body=_index_mappings)

 

2、查看mapping

URL:http://10.10.6.225:9200/my_index/_mapping/doc方式:GET返回:{  "my_index": {    "mappings": {      "doc": {        "properties": {          "age": {            "type": "integer"          },          "created": {            "type": "date"          },          "name": {            "type": "text"          },          "title": {            "type": "text"          }        }      }    }  }}

 参考网址:

 python的脚本在这里:

# pip install elasticsearchfrom elasticsearch import Elasticsearches_servers = [{    "host": "10.10.6.225",    "port": "9200"}]# 使用文档在这里:http://elasticsearch-py.readthedocs.io/en/master/es = Elasticsearch(es_servers)print(es.indices.get(index='blog_index')['blog_index']['mappings'])

返回:

C:\Python36\python.exe D:/Work/ELK/run.py{
'doc': {
'properties': {
'age': {
'type': 'integer'}, 'created': {
'type': 'date'}, 'name': {
'type': 'text'}, 'title': {
'type': 'text'}}}}Process finished with exit code 0

 

3、如果你想更新Mapping,那么就看看这里吧:

就是不行,不行,作废,重导入!!!!!

 

4、上传一些数据玩玩吧!

# pip install elasticsearchimport timefrom elasticsearch import Elasticsearchfrom elasticsearch.helpers import bulkes_servers = [{    "host": "10.10.6.225",    "port": "9200"}]# 使用文档在这里:http://elasticsearch-py.readthedocs.io/en/master/es = Elasticsearch(es_servers)index_name = 'blog_index'doc_type_name = 'doc'# 创建ACTIONSACTIONS = []line_list = [    {
'age': 25, 'created': '2018-02-09 12:00:01', 'name': '黄海', 'title': '厉害了我的国'}, {
'age': 32, 'created': '2018-02-19 12:00:01', 'name': '李勇', 'title': '红海行动'}, {
'age': 25, 'created': '2018-02-13 12:00:01', 'name': '赵志', 'title': '湄公河行动'}, {
'age': 22, 'created': '2018-02-03 12:00:01', 'name': '李四', 'title': '极品相师'}, {
'age': 18, 'created': '2018-02-01 12:00:01', 'name': '刘勇', 'title': '乡村爱情故事'}, {
'age': 43, 'created': '2018-01-01 12:00:01', 'name': '刘勇', 'title': '乡村爱情故事'}, {
'age': 28, 'created': '2018-01-02 12:00:01', 'name': '刘勇', 'title': '乡村爱情故事'}, {
'age': 23, 'created': '2018-01-04 12:00:01', 'name': '刘勇', 'title': '乡村爱情故事'}, {
'age': 22, 'created': '2018-03-01 12:00:01', 'name': '刘勇', 'title': '乡村爱情故事'}, {
'age': 21, 'created': '2018-03-01 12:00:01', 'name': '刘勇', 'title': '乡村爱情故事'}, {
'age': 25, 'created': '2018-03-01 12:00:01', 'name': '刘勇', 'title': '乡村爱情故事'}, {
'age': 34, 'created': '2018-03-01 12:00:01', 'name': '刘勇', 'title': '乡村爱情故事'}, {
'age': 33, 'created': '2017-04-01 12:00:01', 'name': '刘勇', 'title': '乡村爱情故事'}, {
'age': 54, 'created': '2017-04-01 12:00:01', 'name': '刘勇', 'title': '乡村爱情故事'}, {
'age': 25, 'created': '2017-04-01 12:00:01', 'name': '刘勇', 'title': '乡村爱情故事'}]for line in line_list: action = { "_index": index_name, "_type": doc_type_name, "_source": { "age": line['age'], "created": line['created'], "name": line['name'], "title": line['title'] } } ACTIONS.append(action) # 批量处理success, _ = bulk(es, ACTIONS, index=index_name, raise_on_error=True)

 

5、按时间段进行聚合测试

from elasticsearch import Elasticsearches_servers = [{    "host": "10.10.6.225",    "port": "9200"}]# 使用文档在这里:http://elasticsearch-py.readthedocs.io/en/master/es = Elasticsearch(es_servers)print(es.indices.get(index='blog_index')['blog_index']['mappings'])body= {     "size" : 0,     "aggs": {        "sales": {           "date_histogram": {              "field": "created",              "interval": "month",              "format": "yyyy-MM"           }        }     }  }res = es.search(index="blog_index", body=body)print(res)

打完收工!

转载地址:http://zzkix.baihongyu.com/

你可能感兴趣的文章
[iOS 10 day by day] Day 2:线程竞态检测工具 Thread Sanitizer
查看>>
Centos/Ubuntu下安装nodejs
查看>>
关于浏览器的cookie
查看>>
Hyper-V 2016 系列教程30 机房温度远程监控方案
查看>>
国内先进的智能移动广告聚合平台-KeyMob聚合
查看>>
我的友情链接
查看>>
我的友情链接
查看>>
PHP - 如何打印函数调用树
查看>>
js闭包
查看>>
寒假。3.3.G - Common Child (最大公共子序)
查看>>
设计模式学习笔记--原型模式
查看>>
.Net 通过MySQLDriverCS操作MySQL
查看>>
JS Cookie
查看>>
ubuntu Unable to locate package sysv-rc-conf
查看>>
笔记:认识.NET平台
查看>>
cocos2d中CCAnimation的使用(cocos2d 1.0以上版本)
查看>>
【吉光片羽】短信验证
查看>>
MacBook如何用Parallels Desktop安装windows7/8
查看>>
gitlab 完整部署实例
查看>>
GNS关于IPS&ASA&PIX&Junos的配置
查看>>