您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 信息化管理 > elasticsearch-教学
1. Introduction2. 入门i. 是什么ii. 安装iii. APIiv. 文档v. 索引vi. 搜索vii. 聚合viii. 小结ix. 分布式x. 结语3. 分布式集群i. 空集群ii. 集群健康iii. 添加索引iv. 故障转移v. 横向扩展vi. 更多扩展vii. 应对故障4. 数据i. 文档ii. 索引iii. 获取iv. 存在v. 更新vi. 创建vii. 删除viii. 版本控制ix. 局部更新x. Mgetxi. 批量xii. 结语5. 分布式增删改查i. 路由ii. 分片交互iii. 新建、索引和删除iv. 检索v. 局部更新vi. 批量请求vii. 批量格式6. 搜索i. 空搜索ii. 多索引和多类型iii. 分页iv. 查询字符串7. 映射和分析i. 数据类型差异ii. 确切值对决全文iii. 倒排索引iv. 分析v. 映射Table of Contentsvi. 复合类型8. 结构化查询i. 请求体查询ii. 结构化查询iii. 查询与过滤iv. 重要的查询子句v. 过滤查询vi. 验证查询vii. 结语9. 排序i. 排序ii. 字符串排序iii. 相关性iv. 字段数据10. 分布式搜索i. 查询阶段ii. 取回阶段iii. 搜索选项iv. 扫描和滚屏11. 索引管理i. 创建删除ii. 设置iii. 配置分析器iv. 自定义分析器v. 映射vi. 根对象vii. 元数据中的source字段viii. 元数据中的all字段ix. 元数据中的ID字段x. 动态映射xi. 自定义动态映射xii. 默认映射xiii. 重建索引xiv. 别名12. 深入分片i. 使文本可以被搜索ii. 动态索引iii. 近实时搜索iv. 持久化变更v. 合并段13. 结构化搜索i. 查询准确值ii. 组合过滤iii. 查询多个准确值iv. 包含,而不是相等v. 范围vi. 处理 Null 值vii. 缓存viii. 过滤顺序14. 全文搜索i. 匹配查询ii. 多词查询iii. 组合查询iv. 布尔匹配v. 增加子句vi. 控制分析vii. 关联失效原书地址:Elasticsearch the definitive guide原作者: clinton gormley,zachary tong译者: Looly参与翻译:@iridiumcao@cvvnx1@conan007ai@sailxjx@wxlfight@xieyunzi@xdream86@conan007ai@williamzhao@dingusxp感谢参与翻译的小伙伴们~~邮箱: loolly@gmail.com微博: @路小磊://git.oschina.net/loolly/elasticsearch-definitive-guide-cnElasticsearch 权威指南(中文版)阅读地址:Elasticsearch权威指南(中文版)项目地址:阅读地址:之前接触Elasticsearch只是最简单的使用,想要深入了解内部功能,借助翻译同时系统学习。由于英语比较菜,第一次翻译文档,如有不妥,欢迎提issue:githubgit@oscindex - 索引type - 类型token - 表征filter - 过滤器analyser - 分析器开始我对Pull Request流程不熟悉,后来参考了@numbbbbb的《The Swift Programming Language》协作流程,在此感谢。1. 首先fork我的项目2. 把fork过去的项目也就是你的项目clone到你的本地3. 运行 git remote add looly git@github.com:looly/elasticsearch-definitive-guide-cn.git 把我的库添加为远端库4. 运行 git pull looly master 拉取并合并到本地5. 翻译内容6. commit后push到自己的库( git push origin master )7. 登陆Github在你首页可以看到一个 pull request 按钮,点击它,填写一些说明信息,然后提交即可。1~3是初始化操作,执行一次即可。在翻译前必须执行第4步同步我的库(这样避免冲突),然后执行5~7既可。1. 文档还未翻译完成,使用gitbook格式,已经翻译完成的章节会陆续提交到gitbook。2. 为了便于翻译,未翻译部分拷贝自官方英文文档。说明翻译关键字约定Pull Request流程注意Elasticsearch是一个实时分布式搜索和分析引擎。它让你以前所未有的速度处理大数据成为可能。它用于全文搜索、结构化搜索、分析以及将这三者混合使用:维基百科使用Elasticsearch提供全文搜索并高亮关键字,以及输入实时搜索(search-as-you-type)和搜索纠错(did-you-mean)等搜索建议功能。英国卫报使用Elasticsearch结合用户日志和社交网络数据提供给他们的编辑以实时的反馈,以便及时了解公众对新发表的文章的回应。StackOverflow结合全文搜索与地理位置查询,以及more-like-this功能来找到相关的问题和答案。Github使用Elasticsearch检索1300亿行的代码。但是Elasticsearch不仅用于大型企业,它还让像DataDog以及Klout这样的创业公司将最初的想法变成可扩展的解决方案。Elasticsearch可以在你的笔记本上运行,也可以在数以百计的服务器上处理PB级别的数据。Elasticsearch所涉及到的每一项技术都不是创新或者革命性的,全文搜索,分析系统以及分布式数据库这些早就已经存在了。它的革命性在于将这些独立且有用的技术整合成一个一体化的、实时的应用。它对新用户的门槛很低,当然它也会跟上你技能和需求增长的步伐。如果你打算看这本书,说明你已经有数据了,但光有数据是不够的,除非你能对这些数据做些什么事情。很不幸,现在大部分数据库在提取可用知识方面显得异常无能。的确,它们能够通过时间戳或者精确匹配做过滤,但是它们能够进行全文搜索,处理同义词和根据相关性给文档打分吗?它们能根据同一份数据生成分析和聚合的结果吗?最重要的是,它们在没有大量工作进程(线程)的情况下能做到对数据的实时处理吗?这就是Elasticsearch存在的理由:Elasticsearch鼓励你浏览并利用你的数据,而不是让它烂在数据库里,因为在数据库里实在太难查询了。Elasticsearch是你新认识的最好的朋友。入门Elasticsearch是一个基于Apache Lucene(TM)的开源搜索引擎。无论在开源还是专有领域,Lucene可以被认为是迄今为止最先进、性能最好的、功能最全的搜索引擎库。但是,Lucene只是一个库。想要使用它,你必须使用Java来作为开发语言并将其直接集成到你的应用中,更糟糕的是,Lucene非常复杂,你需要深入了解检索的相关知识来理解它是如何工作的。Elasticsearch也使用Java开发并使用Lucene作为其核心来实现所有索引和搜索的功能,但是它的目的是通过简单的 RESTfulAPI 来隐藏Lucene的复杂性,从而让全文搜索变得简单。不过,Elasticsearch不仅仅是Lucene和全文搜索,我们还能这样去描述它:分布式的实时文件存储,每个字段都被索引并可被搜索分布式的实时分析搜索引擎可以扩展到上百台服务器,处理PB级结构化或非结构化数据而且,所有的这些功能被集成到一个服务里面,你的应用可以通过简单的 RESTful API 、各种语言的客户端甚至命令行与之交互。上手Elasticsearch非常容易。它提供了许多合理的缺省值,并对初学者隐藏了复杂的搜索引擎理论。它开箱即用(安装即可使用),只需很少的学习既可在生产环境中使用。Elasticsearch在Apache 2 license下许可使用,可以免费下载、使用和修改。随着你对Elasticsearch的理解加深,你可以根据不同的问题领域定制Elasticsearch的高级特性,这一切都是可配置的,并且配置非常灵活。模糊的历史多年前,一个叫做Shay Banon的刚结婚不久的失业开发者,由于妻子要去伦敦学习厨师,他便跟着也去了。在他找工作的过程中,为了给妻子构建一个食谱的搜索引擎,他开始构建一个早期版本的Lucene。直接基于Lucene工作会比较困难,所以Shay开始抽象Lucene代码以便Java程序员可以在应用中添加搜索功能。他发布了他的第一个开源项目,叫做“Compass”。后来Shay找到一份工作,这份工作处在高性能和内存数据网格的分布式环境中,因此高性能的、实时的、分布式的搜索引擎也是理所当然需要的。然后他决定重写Compass库使其成为一个独立的服务叫做Elasticsearch。第一个公开版本出现在2010年2月,在那之后Elasticsearch已经成为Github上最受欢迎的项目之一,代码贡献者超过300人。一家主营Elasticsearch的公司就此成立,他们一边提供商业支持一边开发新功能,不过Elasticsearch将永远开源且对所有人可用。Shay的妻子依旧等待着她的食谱搜索……为了搜索,你懂的理解Elasticsearch最好的方式是去运行它,让我们开始吧!安装Elasticsearch唯一的要求是安装官方新版的Java,地址:你可以从 elasticsearch.org/download 下载最新版本的Elasticsearch。curl -L -O 1unzip elasticsearch-$VERSION.zipcd elasticsearch-$VERSION1. 从 elasticsearch.org/download 获得最新可用的版本号并填入URL中提示:在生产环境安装时,除了以上方法,你还可以使用Debian或者RPM安装包,地址在这里:downloads page,或者也可以使用官方提供的 Puppet module 或者 Chef cookbook。Marvel是Elasticsearch的管理和监控工具,在开发环境下免费使用。它包含了一个叫做 Sense 的交互式控制台,使用户方便的通过浏览器直接与Elasticsearch进行交互。Elasticsearch线上文档中的很多示例代码都附带一个 View in Sense 的链接。点击进去,就会在 Sense 控制台打开相应的实例。安装Marvel不是必须的,但是它可以通过在你本地Elasticsearch集群中运行示例代码而增加与此书的互动性。Marvel是一个插件,可在Elasticsearch目录中运行以下命令来下载和安装:./bin/plugin -i elasticsearch/marvel/latest你可能想要禁用监控,你可以通过以下命令关闭Marvel:echo 'marvel.agent.enabled: false' ./config/elasticsearch.ymlElasticsearch已经准备就绪,执行以下命令可在前台启动:./bin/elasticsearch如果想在后台以守护进程模式运行,添加 -d 参数。打开另一个终端进行测试:curl '你能看到以下返回信息:安装Elasticsearch安装Marvel运行Elasticsearch{ status: 200, name: Shrunken Bon
本文标题:elasticsearch-教学
链接地址:https://www.777doc.com/doc-5240277 .html