elasticsearch可以代替深入nosqlL吗

ElasticSearch教程(3)——ElasticSearch的插件
插件作为一种普遍使用的,用来增强原系统核心功能的机制,得到了广泛的使用,elasticsearch也不例外。
1. 安装elasticsearch插件
从0.90.2安装其实很简单,有三种方式,
1.1 在确保你网络顺畅的情况下,执行如下格式的命令即可:
plugin --install &org&/&user/component&/&version&
具体的&org&/&user/component&/&version&可参加各插件的使用说明。
如果网络不太顺畅,可以下载好插件的压缩包后以如下方式安装:
bin/plugin --url file://path/to/plugin --install plugin-name
1.3 你也可以直接将插件的相关文件拷贝到plugins目录下面,需要注意的是,这种方式需要特别留意插件的种类。
2. 如何查看当前已经加载的插件
curl -XGET 'http://localhost:9200/_nodes/plugin'
或者可以指定某个实例
curl -XGET 'http://localhost:9200/_nodes/10.0.0.1/plugin'
3. 个人强力推荐的插件
要想知道整个插件的列表,请访问 插件还是很多的,个人认为比较值得关注的有以下几个,其他的看你需求,比如你要导入数据当然就得关注river了。
3.1 BigDesk
该插件可以查看集群的jvm信息,磁盘IO,索引创建删除信息等,适合查找系统瓶颈,监控集群状态等,可以执行如下命令进行安装,或者访问项目地址:
bin/plugin -install lukas-vlcek/bigdesk
说明:功能跟这个插件也很强大。
可以查看索引情况,搜索索引,查看集群状态和分片分布等,可以执行如下命令进行安装,或者访问项目地址:
bin/plugin -install mobz/elasticsearch-head
3.3 elasticsearch中文分词插件
官方的中文分词插件:
Medcl开发的中午分词插件:
elasticsearch 默认是使用Zen作为集群发现和存活管理的,ZooKeeper作为一个分布式高可用性的协调性系统,在这方面有着天然的优势,如果你比较信任zookeeper,那么你可以使用这个插件来替代Zen。
总结:本文主要介绍了elasticsearch的插件安装方法,如何查看当前加载的插件的方法,以及个人认为比较值得关注的一些插件。
非特别说明,均为原创文章,转载请注明: 转载自
本文链接地址:3975人阅读
前注:有些内容来自网络,此处引用
&&&&&& Elasticsearch是一个基于lucene的、开源的、分布式的、RESTful的搜索引擎。Elasticsearch有如下特征:
&&&&&& 1. 更快的执行搜索;
&&&& & 2. 安装简单;
&&&&&& 3. 完全自由的搜索模式;
&&&&&& 4. 可以简单地通过HTTP使用JSON索引数据;
&&&&&& 5. 分布式,可对搜索集群;
&&&&&& 6. 能够实时搜索;
&&&&&& 7. 实现简单地多租户;
&&&&&& 8. 等等。
&&&&&& 很多时候我们使用Elasticsearch来代替lucene实现搜索,当然,代替的原因是因为其可实现搜索集群。
&&&&&& 自由和面向文档的模式
&&&&&& 搜索引擎的数据模型属于模式自由以及数据库是面向文档的,以目前#nosql的发展趋势来看,使用这种数据模型来构建应用程序已经被证明是非常高效的。
&&&&&&&& elasticsearch 的模型基于 JSON, 事实上,在近些年,它俨然已经成为数据呈现的一个标准,此外,通过JSON,可以非常简单的表示半结构化的数据,同样的,大多数编程语言都会优先支持JSON数据的解析.
&&&&&&& 模式映射(Schema Mapping)
&&&&&&& elasticsearch是无模式的,你随便往里面扔一个JSON格式的文档,然后ES就可以自动的进行索引。输入的内容如果是数字或者是时间类型,ES也自动的检测出来,并做相应的处理。
&&&&&&& 但是,众所周知,搜索引擎是非常复杂的,索引文档中的字段是可以设置BOOST值来影响打分的,另外还可以使用不同的分析器(Analyzer)用来控制怎么分词,比如有些字段是需要进行分词的,但是有些则不一定,如此等等。elasticsearch允许你完全控制这些规则,最终将一个JSON文档映射到搜索引擎里面。并且可以按索引(Index)和按类型(Type)2种级别来进行设置.。
&&&&&&& 获取数据(GETting Some Data)
&&&&&&& 每个索引的文档都必须要有一个唯一标识(在类型级别),在很多时候这是非常有用的,比如你想更新或者删除某一个索引文档,或者只是想拿一条索引数据看看。获取数据真是简单的不能再简单了,你只需用告诉es指定文档的索引、类型、和id就可以拿回实际的索引文档了(就是你建索引的时候的JSON文档)。
&&&&&&& 搜索(Search)
&&&&&&& 处理查询只需要一个简单的请求,里面隐藏了很多复杂的es提供的基于分布式的操作。可以简单的使用 Lucene通用的语法,或者使用基于JSON格式QueryDSL(DSL:领域特定语言)来构造搜索各种请求(更加灵活,方便构造复杂查询)。
&&&&&&& 搜索可不仅仅就是查询就结束了,方面/层面(facets),高亮,自定义脚本等等都是支持的。
&&&&&&& 多租户(Multi Tenancy)
&&&&&&& 单个索引既然已经有了,那为什么还会需要不止一个索引呢,其实,有很多原因需要支持多索引,比如,对日志索引可以按周来分别存放,或者是对不同的索引进行不同的设置(比如,一个使用内存作为存储,一个使用文件系统来存储)。
&&&&&&& 当有了多个索引之后,我们就想要能够跨索引来进行搜索(或者其他操作)。
&&&&&&& 设置(Settings)
&&&&&&& 能够进行配置本身就是一把双刃剑,我们想要的是能够打开就能尽快运行,中间无需任何配置,并且当有需要的时候能够控制应用程序的几乎所有方面。
&&&&&&& elasticsearch 从构建之初就这种理念,所以几乎所有事情都是可配和可插拔的,此外,每个索引(index)都有其独立的配置,用来覆盖主配置(master settings)。举例来说,一个索引可以配置为使用内存存储,10个分片和1个副本,而另外一个索引可以是使用文件系统存储,1个分片和10个副本。所有的索引级别(index)的设置都是可以在创建索引的时候通过YAML或者JSON格式来进行指定的。
&&&&&&& 分布式(Distributed)
&&&&&&& elasticsearch的一个最主要的功能就是对分布式的支持,索引能够分拆为多个分片,每个分片可以有0个或者多个副本,集群中的每个数据节点,都可以承载一个或者多个分片,并且充当协调和处理各种操作分发到合适的分片上去。再平衡(Rebalancing)和路由(routing)这一切都是自动进行的。
&&&&&&& 时间之门(Gateway)
&&&&&&& 也许有一天,整个集群会崩溃(谁也无法保证因为什么原因),或者是因为特殊需要而进行关停,大多数情况,我们是需要让集群恢复到最后的一个状态的,并且让服务重新run起来 ,elasticsearch提供了一个叫做gateway的模块,允许你来做这件事情,你可以想想时间机器和搜索的结合。
&&&&&&& 集群的状态信息(包括事务日志)可以通过每个本地存储(默认模式)来重建,或共享存储(如NFS或者Amazon S3),当使用共享存储,集群状态信息会异步的复制过去。
&&&&&&& 此外,当使用共享存储来做持久化,索引信息可以完全的存放在内存里面,就算做整个集群的关闭再恢复也不会有问题。
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:410557次
积分:5587
积分:5587
排名:第1800名
原创:195篇
评论:169条ElasticSearch+Log4net.NoSql - 下载频道
- CSDN.NET
&&&&ElasticSearch+Log4net.NoSql
结合ElasticSearch和Log4Net.NoSql实现分布式日志记录和查询
若举报审核通过,可奖励20下载分
被举报人:
举报的资源分:
请选择类型
资源无法下载
资源无法使用
标题与实际内容不符
含有危害国家安全内容
含有反动色情等内容
含广告内容
版权问题,侵犯个人或公司的版权
*详细原因:
您可能还需要
开发技术下载排行1.4.1 理解Elasticsearch的RESTful API
本文所属图书&>&
本书这一版针对Elasticsearch 的最新版本更新了内容,增加了第1 版中遗漏的重要内容。本书首先对Elasticsearch 作一般性介绍,其中包括如何启动和运行Elasticsearch、Elasticsearch 的基本概念,以及如何以最&&
1.4 用REST&API操作数据
Elasticsearch&REST&API可用于各种任务。有了它,可以管理索引,更改实例参数,检查节点和群集状态,索引数据,搜索数据或者通过GET&API检索文档。但是现在,我们将集中在API中的CRUD(create-retrieve-update-delete,增删改查)部分,它让我们能像使用NoSQL数据库一样使用Elasticsearch。
1.4.1 理解Elasticsearch的RESTful&API
在一个类REST的架构中,每个请求都指向地址路径所表示的一个具体对象。如果/books/是一个图书馆中图书列表的引用,/books/1则引用ID为1的那本书。注意这些对象可以嵌套,/books/1/chapter/6表示图书馆的第一本书的第6章,等等。我们的API调用有个主题。我们想执行的操作(比如GET或POST操作)怎么样?请求类型就是用来指定这个的。HTTP协议给出了可以在API调用中用作动词的一组相当长的类型。合乎逻辑的选择是,GET用来获得请求对象的当前状态,POST来改变对象的当前状态,PUT创建一个对象,而DELETE销毁对象,另外还有个HEAD请求仅仅用来获取对象的基础信息。
现在来看看在1.3.7节中讨论的如下操作例子,一切都应该更容易理解。
GET&http://localhost:9000/:这个命令用来获取Elasticsearch的基本信息。
GET&http://localhost:9200/_cluster/state/nodes/:这个命令获取集群中节点的信息。
POST&http://localhost:9200/_cluster/nodes/_shutdown:这个命令向集群中所有节点发送一个shutdown请求。我们现在至少知道了REST的一般概念。你可以在上更多关于REST的信息。现在,可以继续学习如何使用Elasticsearch&API来存储、读取、修改和删除数据。
您对本文章有什么意见或着疑问吗?请到您的关注和建议是我们前行的参考和动力&&
您的浏览器不支持嵌入式框架,或者当前配置为不显示嵌入式框架。

我要回帖

更多关于 nosql数据库入门 的文章

 

随机推荐