博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Elasticsearch最新版本2.20特性及如何安装
阅读量:6843 次
发布时间:2019-06-26

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

hot3.png

版本选择:Elasticsearch最新版本2.20

    Elasticsearch的更新速度实在太快了,16年2月2日更新到了2.2版本,首先看一下这个版本增加了哪些新的特性。首先是基于Lucene 5.4.1,修复了Elasticsearch 2.1.2和Elasticsearch 1.7.5版本中存在的很多bug,同时Elasticsearch 2.2.0增加了两个很棒的新功能:查询分析器和增强地理位置字段。这个版本增加了更加严格的安全性和修复了2.1的一个重大bug,就是在分片恢复的时候会非常缓慢。以及许多其他的错误修复和改进。官方鼓励所有用户升级到此版本。

    分析器(Profile API)

    利用分析器可以得到查询的详细分析信息,它可以让你了解和调试查询性能。查询的每一部分都独立的记录了统计时间,如多长时间重写查询,找到匹配的文档以及他们的得分情况。这个当查询慢的时候就不需要进行猜测为什么这么慢:只要设置profile这个参数为true,你就可以得到最直接的深入的查询分析。

    增强地理位置字段

    地理位置字段在2.20版本中几乎进行了从写,它利用一个新的紧凑型数据结构存储在Lucene的索引中,可以增加50%的入库效率, 20-50%的查询效率,一半的存储空间和内存的占用以及更简单的映射参数。

    对插件和脚本进行更严格的安全性检查

    作为安全增强的一部分,Groovy和Lucene的表达式脚本语言已经移出了核心层,现在把他们作为默认的分布式模块的插件。这样的调整可以控制这些模块的权限,已减少黑客的攻击,Elasticsearch的核心模块在未来将会更多的进行模块化处理。脚本语言,现在预定义提供一个白名单列表,这些脚本不能读写文件,不能打开远程的连接。默认情况下,都不准许插件有特殊权限,否则必须事先声明这些权限。同时在插件安装时将会被警告有特殊权限的要求,这个时候你可以根据需要确认是否移除这些插件。

    本文由赛克蓝德(secisland)原创,转载请标明作者和出处。

安装

    Elasticsearch安装至少需要Java 7的支持。最新的版本建议使用Oracle的JDK版本1.8.0_72。如需了解Java的情况,可以到oracle的官网找相关的资料。在你安装Elasticsearch前,请检查您的Java版本运行:

    java -version

    当我们设置好Java后,我们可以下载最新的版本。下载地址:https://www.elastic.co/downloads/past-releases/elasticsearch-2-2-0。

    下载完成后直接解压。然后到cd elasticsearch-2.2.0/bin目录。

  在windows下执行elasticsearch.bat,在linux下运行./elasticsearch。

  如果一切顺利的话,你应该看到一堆像下面这样的信息:

[2016-02-03 16:53:31,122][INFO ][node                     ] [Rintrah] version[2.2.0], pid[6840], build[8ff36d1/2016-01-27T13:32:39Z][2016-02-03 16:53:31,122][INFO ][node                     ] [Rintrah] initializing ...[2016-02-03 16:53:31,668][INFO ][plugins                  ] [Rintrah] modules [lang-groovy, lang-expression], plugins [], sites [][2016-02-03 16:53:31,684][INFO ][env                      ] [Rintrah] using [1] data paths, mounts [[work (D:)]], net usable_space [67.2gb], net total_space [99.9gb], spins? [unknown], types [NTFS][2016-02-03 16:53:31,684][INFO ][env                      ] [Rintrah] heap size [910.5mb], compressed ordinary object pointers [true][2016-02-03 16:53:33,637][INFO ][node                     ] [Rintrah] initialized[2016-02-03 16:53:33,637][INFO ][node                     ] [Rintrah] starting ...[2016-02-03 16:53:33,918][INFO ][transport                ] [Rintrah] publish_address {127.0.0.1:9300}, bound_addresses {[::1]:9300}, {127.0.0.1:9300}[2016-02-03 16:53:33,934][INFO ][discovery                ] [Rintrah] elasticsearch/1oo5dtelT8ax-3LmnTrs8g[2016-02-03 16:53:37,982][INFO ][cluster.service          ] [Rintrah] new_master {Rintrah}{1oo5dtelT8ax-3LmnTrs8g}{127.0.0.1}{127.0.0.1:9300}, reason: zen-disco-join(elected_as_master, [0] joins received)[2016-02-03 16:53:40,363][INFO ][gateway                  ] [Rintrah] recovered [0] indices into cluster_state[2016-02-03 16:53:40,567][INFO ][http                     ] [Rintrah] publish_address {127.0.0.1:9200}, bound_addresses {[::1]:9200}, {127.0.0.1:9200}[2016-02-03 16:53:40,567][INFO ][node                     ] [Rintrah] started

    这样我们就已经启动了Elasticsearch,当然我们也可以在启动的时候修改集群的名称和节点的名称。例如:

./elasticsearch --cluster.name my_cluster_name --node.name my_node_name

  默认情况下,Elasticsearch使用9200端口提供的REST API。该端口是可配置的。

    在本机访问http://127.0.0.1:9200/

    将会得到一下内容:

{  "name" : "Rintrah",  "cluster_name" : "elasticsearch",  "version" : {    "number" : "2.2.0",    "build_hash" : "8ff36d139e16f8720f2947ef62c8167a888992fe",    "build_timestamp" : "2016-01-27T13:32:39Z",    "build_snapshot" : false,    "lucene_version" : "5.4.1"  },  "tagline" : "You Know, for Search"}

    现在,我们有我们的节点(和集群)将争取的运行,下一步就是要了解如何进行使用。Elasticsearch提供了非常全面和强大的REST API,通过这些API,我们可以了解集群的信息。这些API可以做如下事情:

1、检查群集,节点和索引的情况,状态和统计

2、管理群集、节点和索引数据和文档数据

3、执行CRUD(创建,读取,更新和删除)操作,可以对索引进行操作

4、执行高级搜索操作如分页、排序、过滤、脚本、聚合及其他操作。

赛克蓝德(secisland)后续会逐步对Elasticsearch的最新版本的各项功能进行分析,近请期待。

转载于:https://my.oschina.net/secisland/blog/613444

你可能感兴趣的文章
隐藏nginx、apache与php版本号
查看>>
【STM32 .Net MF开发板学习-08】远程PLC读写控制
查看>>
Lync 小技巧-12-同台服务器删除Lync Server 2010安装Lync Server 2013
查看>>
【STM32 .Net MF开发板学习-17】Wifi遥控智能小车
查看>>
做程序,要“专注”和“客观”
查看>>
运维常用表格
查看>>
6.VMware View 4.6安装与部署-view桌面克隆与分配
查看>>
Azure恢复服务-DPM联机备份SQL数据库
查看>>
大分区使用xfs文件系统存储备份遇到的问题
查看>>
记录-三步走FreeMarker Template学习
查看>>
vsts项目管理理论基础——MSF
查看>>
Cocos2d-x Eclipse下程序运行产生错误Effect initCheck() returned -1
查看>>
Unity依赖注入使用详解
查看>>
Windows GVim
查看>>
kernel_read【转】
查看>>
内核分配大块连续内存的方法【转】
查看>>
【Python】random模块
查看>>
嵌入式Linux下Camera编程--V4L2【转】
查看>>
一文读懂最近流行的CNN架构(附学习资料)
查看>>
[工具] 程序员必须软件
查看>>