今日上市的50亿项目ElasticSearch了解一下1
1.概念
以 Elastic 之名进行交易的数据搜索软件初创公司 ElasticSearch 于今天在美国上市,市值近 50 亿美元!
ElasticSearch,以搜索开源产品知名,如ELK(Elasticsearch,Logstash,Kibana)成熟的日志解决方案,到后来的Elastic Stack(包括 Elasticsearch、Kibana、Beats 和 Logstash)。
ElasticSearch 一个基于RESTful风格的分布式多用户能力的全文搜索引擎(RESTful风格 分布式 文档数据库)。存储的是文档,json字符串,使用RESTful风格的api做增删查改。
ElasticSearch使用场景
- 从ELK开始,在ELK中ElasticSearch的功能是存储Logstash传递的日志,供Kibana去查询。
- 这里查询日志文档中的关键字,使用的是ElasticSearch,而不是数据库或者redis。目前来讲的文档存储的解决方案就是ElasticSearch
- 对应到数据库,如果一个字段的内容比较大时,这条数据就不适合用数据库存储,至少这个很大的字段不适合放在数据库中,那么可以选择使用ElasticSearch来存储该数据或者字段。
数据结构
index/type/id 即可确定一个唯一的文档,文档内容一般有json构成如下图框选即一个文档。
2.安装
最新版本 官网下载地址
https://www.elastic.co/downloads/elasticsearch
springboot1.5版本对应的es2.4
https://www.elastic.co/guide/en/elasticsearch/reference/2.4/_installation.html
前提,至少要jdk1.7,推荐jdk8,linux环境中不能用root用户,所以要新建个用户。
linux新建用户 (留坑)
linux安装jdk (留坑)
下载可以用https://www.elastic.co/guide/en/elasticsearch/reference/2.4/_installation.html页面上的方法 用curl下载 然后解压,启动即可完成原始的安装
下载
curl -L -O https://download.elastic.co/elasticsearch/release/org/elasticsearch/distribution/tar/elasticsearch/2.4.6/elasticsearch-2.4.6.tar.gz
解压
tar -xvf elasticsearch-2.4.6.tar.gz
切换目录
cd bin
启动
./elasticsearch
简单的安装启动可以验证一下elasticSearch,是否能正常启动。可以检测jdk,linux环境是否正常(host配置,读取文件数量配置等问题),有报错在网上找找资料自行解决。
修改配置文件启动
进入es安装目录中的config,修改elasticsearch.yml
#修改的主要内容:
#配置es的集群名称,默认是elasticsearch,es会自动发现在同一网段下的es,如果在同一网段下有多个集群,#就可以用这个属性来区分不同的集群。
cluster.name: my-aplication
#节点名称
node.name: node1
#设置索引数据的存储路径
path.data: /export/servers/esdata
#设置日志的存储路径
path.logs: /export/servers/es/logs
#设置当前的ip地址,通过指定相同网段的其他节点会加入该集群中
network.host: 0.0.0.0
#设置对外服务的http端口
http.port: 9200
#设置集群中master节点的初始列表,可以通过这些节点来自动发现新加入集群的节点
discovery.zen.ping.unicast.hosts: ["node-1"]
值得注意的事 network.host: 0.0.0.0
然后在启动es
进入bin目录
cd bin
直接启动
./elasticsearch
后台启动
./elasticsearch -d
验证 浏览器输入服务器ip:port可得到json字符串证明成功
3.简单使用
Elasticsearch 命令的一般格式是:REST VERBHOST:9200/index/doc-type
— 其中 REST VERB
是 PUT
、GET
或 DELETE
。(使用 cURL -X
动词前缀来明确指定 HTTP 方法。)
可以在shell中直接使用上述方法。也可以使用工具发送http请求,官方推荐使用head插件,我用的postman发的。
postman基本使用 (有需要的留言,再填坑)
首先查询Elasticsearch是否正常
新增一个数据index是library,type是books,id是1
查询一下结果,
只用部分条件查询 查询语法说明,ip:port后面是index,type和id没有,_search是搜索的意思
修改数据
查询
删除
查询
数据被删除了。
留坑,待更。。。