你知道的, 为了搜索…​

Elasticsearch 是一个开源的搜索引擎,建立在一个全文搜索引擎库 Apache Lucene™ 基础之上。 Lucene 可以说是当下最先进、高性能、全功能的搜索引擎库—​无论是开源还是私有。

但是 Lucene 仅仅只是一个库。为了充分发挥其功能,你需要使用 Java 并将 Lucene 直接集成到应用程序中。 更糟糕的是,您可能需要获得信息检索学位才能了解其工作原理。Lucene 非常 复杂。

Elasticsearch 也是使用 Java 编写的,它的内部使用 Lucene 做索引与搜索,但是它的目的是使全文检索变得简单, 通过隐藏 Lucene 的复杂性,取而代之的提供一套简单一致的 RESTful API。

然而,Elasticsearch 不仅仅是 Lucene,并且也不仅仅只是一个全文搜索引擎。 它可以被下面这样准确的形容:

  • 一个分布式的实时文档存储,每个字段 可以被索引与搜索
  • 一个分布式实时分析搜索引擎
  • 能胜任上百个服务节点的扩展,并支持 PB 级别的结构化或者非结构化数据

Elasticsearch 将所有的功能打包成一个单独的服务,这样你可以通过程序与它提供的简单的 RESTful API 进行通信, 可以使用自己喜欢的编程语言充当 web 客户端,甚至可以使用命令行(去充当这个客户端)。

就 Elasticsearch 而言,起步很简单。对于初学者来说,它预设了一些适当的默认值,并隐藏了复杂的搜索理论知识。 它 开箱即用 。只需最少的理解,你很快就能具有生产力。

随着你知识的积累,你可以利用 Elasticsearch 更多的高级特性,它的整个引擎是可配置并且灵活的。 从众多高级特性中,挑选恰当去修饰的 Elasticsearch,使它能解决你本地遇到的问题。

你可以免费下载,使用,修改 Elasticsearch。它在 Apache 2 license 协议下发布的, 这是众多灵活的开源协议之一。Elasticsearch 的源码被托管在 Github 上 github.com/elastic/elasticsearch。 如果你想加入我们这个令人惊奇的 contributors 社区,看这里 Contributing to Elasticsearch。

如果你对 Elasticsearch 有任何相关的问题,包括特定的特性(specific features)、语言客户端(language clients)、插件(plugins),可以在这里 discuss.elastic.co 加入讨论。

回忆时光

许多年前,一个刚结婚的名叫 Shay Banon 的失业开发者,跟着他的妻子去了伦敦,他的妻子在那里学习厨师。 在寻找一个赚钱的工作的时候,为了给他的妻子做一个食谱搜索引擎,他开始使用 Lucene 的一个早期版本。

直接使用 Lucene 是很难的,因此 Shay 开始做一个抽象层,Java 开发者使用它可以很简单的给他们的程序添加搜索功能。 他发布了他的第一个开源项目 Compass。

后来 Shay 获得了一份工作,主要是高性能,分布式环境下的内存数据网格。这个对于高性能,实时,分布式搜索引擎的需求尤为突出, 他决定重写 Compass,把它变为一个独立的服务并取名 Elasticsearch。

第一个公开版本在2010年2月发布,从此以后,Elasticsearch 已经成为了 Github 上最活跃的项目之一,他拥有超过300名 contributors(目前736名 contributors )。 一家公司已经开始围绕 Elasticsearch 提供商业服务,并开发新的特性,但是,Elasticsearch 将永远开源并对所有人可用。

据说,Shay 的妻子还在等着她的食谱搜索引擎…​

学习链接:https://www.elastic.co/guide/cn/elasticsearch/guide/current/running-elasticsearch.html

Elasticsearch 基础入门(二)相关推荐

  1. Elasticsearch 基础入门

    原文地址:Elasticsearch 基础入门 博客地址:http://www.extlight.com 一.什么是 ElasticSearch ElasticSearch是一个基于 Lucene 的 ...

  2. Vue基础入门(二)

    Vue基础入门目录 一.过滤器vue3已经删除!!!!!! 1.什么是过滤器(Filters) 2.代码展示 3.私有过滤器和全局过滤器 4.过滤器的注意点 5.优化时间代码示例 二.watch 侦听 ...

  3. ElasticSearch快速入门二(Restful介绍)

    本节课从三个方便讲解 什么是restful ? API: Application Programming Interface的缩写,中文意思就是应用程序接口. ●XML: . 可扩展标记语言,是一种程 ...

  4. 科协arduino二:基础入门二

    一:电路基础: 1,电流:电子在导体中流动,形成电流.电流的计量单位是 安培(A),    1 A = 1000 mA (毫安) 2,电压:指电路两端的电势差或电位差.这个电位差引发电子的流动,产生电 ...

  5. [转载] python基础入门二

    参考链接: Python集合Set 写代码,有如下变量,请按照要求实现每个功能 (共6分,每小题各0.5分)  name = " aleX"  1)移除 name 变量对应的值两边 ...

  6. 002_HTML基础入门二【列表 + 表格】

    文章目录 一.列表 List 1.有序列表 ol.li 2.无序列表 ul.li 3.定义列表 dl.dt.dd 二.表格 Table 1.基本标签 2.合并单元格 3.thead.tbody.tfo ...

  7. 黑马程序员C++基础入门(二)——程序流程结构 - 数组

    本文转载自:https://github.com/AnkerLeng/Cpp-0-1-Resource.git 视频见:https://www.bilibili.com/video/av4155972 ...

  8. Canvas基础入门 - 二 时钟与刮刮卡

    文章目录 前言 一.时钟绘制思路及代码实现 1.代码 2.注意事项 二.刮刮卡绘制思路及代码实现 2.代码实现 前言 提示:以下是本篇文章正文内容,下面案例可供参考 一.时钟绘制思路及代码实现 思路与 ...

  9. Arduino基础入门二之呼吸灯

    引言: 之前用UNO R3的数字引脚输出高/低电平实现了LED的亮/灭,而呼吸灯则是让LED明亮度有一个缓慢变化过程,不是直接的亮灭.如何实现?关键就是数字引脚输出的不再是单纯的高低电平,而是PWM信 ...

最新文章

  1. Matlab atan2
  2. 扫地机器人划伤地板_扫地机器人哪个牌子好?会选的才能买到好产品
  3. YolactEdge:首个开源边缘设备上的实时实例分割(Jetson AGX Xavier: 30 FPS)
  4. 机器学习与计算机视觉(绘图)
  5. 位运算解决二进制位上不同数字的个数问题
  6. 常用20个正则表达式
  7. mac OS X下终端使用tree命令列目录
  8. 没有的功能,直接回答并不好
  9. 用 Dev-C++ 编写简单的平均数/中位数/众数/方差/一元线性回归方程计算器(附带控制台颜色设置,选择界面)
  10. bootstrap collapse切换改变图标
  11. Android知识点 015 —— 2.3.9 CountDownTimer倒计时(补充 疯狂Android讲义)
  12. Elasticsearch 最佳运维实践总结
  13. Oracle SQL 批量修改资料库邮箱后缀名称
  14. 使用 jquery.wordexport.js导出的Word排版
  15. 字节跳动自研线上引流回放系统的架构演进
  16. 基于Springboot+Vue网上试衣镜服装穿搭网站设计
  17. Idea创建SpringBoot搭建SSM框架项目,支持JSP页面
  18. C# 语言历史版本特性(C# 1.0到C# 8.0汇总
  19. 原厂PW4203降压型1-3节锂电池充电芯片
  20. 牛逼的人都是相似的,而苦逼的人则各有各的苦逼

热门文章

  1. mysql c api example_The MySQL C API 编程实例
  2. 组件php53 php55区别,分享下php5类中三种数据类型的区别
  3. java中methods方法_java中Class.getMethod方法
  4. Python Pytest装饰器@pytest.mark.parametrize详解
  5. 用groovy采集网页数据
  6. selenium打开Firefox、IE、Chrome浏览器【python】
  7. 20135202闫佳歆--week 8 实验:理解进程调度时机跟踪分析进程调度与进程切换的过程--实验及总结...
  8. mysql: you can't specify target table 问题解决
  9. android 工程结构,它到底是怎么运行的。
  10. ASP.net(C#)]用DataSet进入对数据源的插入数据、更新数据及刪除数据