ElasticSearch是一个基于Lucene构建的开源,分布式,RESTful搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。支持通过HTTP使用JSON进行数据索引。
单机环境
单机版的elasticsearch运行很简单,linux下直接
安装head插件:
elasticsearch-head是一个elasticsearch的集群管理工具
1.elasticsearch/bin/plugin
2.运行es
3.打开http://localhost:9200/_plugin/head/
安装elasticsearch-bigdesk:
bigdesk是elasticsearch的一个集群监控工具,可以通过它来查看es集群的各种状态
1.bin/plugin
2.运行es
3.打开http://localhost:9200/_plugin/bigdesk/
我尝试用Python写了一段将数据存入Elasticsearch中的代码
# -*- coding:utf-8 -*-
from elasticsearch import Elasticsearch
from elasticsearch import helpers
from datetime import datetime
import sys
sys.path.append("..")
import uuid,time
from core.logger import mLogger
#sys.path.append("..")
class ElasticsearchAdapter(NoSQLBase):
#"""Elasticsearch的接口类"""
def __init__(self,pconf):
super(ElasticsearchAdapter, self).__init__()
self.es = Elasticsearch(hosts=“10.11.115.61”])
def save(self,data):
idx = 'default_index'
try:
typ = 'default_type'
self.es.index(index=idx, doc_type=typ, body={"data":data, "datastore_timestamp": time.time()})
except Exception, e:
mLogger.error(e)
if __name__ == '__main__':
myES = ElasticsearchAdapter()
data = [{'meta':{u'profile': u'cesa.profile', u'proc_url': False,
u'uitem': {u'url': u'https://lists.centos.org/pipermail/centos-announce/2015-June/021188.html',
u'cur_depth': 2, u'session': u'1448330880.0',
u'conf': {u'max_depth': u'5', u'proxy': u''}},
u'handler': u'web',
u'model': 0,
u'data_pipe': u'es1',
u'proc_data': True},
u'extracted_data': {u'url': u'https://lists.centos.org/pipermail/centos-announce/2015-June/021188.html', u'url_hash': u'455e66caa91b086001bbfa82
}]
print myES.save(data)
我也是第一次接触到ES 有什么问题的话欢迎随时指教