Elasticsearch入门

2019-04-27 19:59:41 浏览数 (1)

1 简介

Elasticsearch是一个基于Lucene库的搜索引擎。

它提供了一个分布式、支持多租户的全文搜索引擎,具有HTTP Web接口和无模式JSON文档。Elasticsearch是用Java开发的,并在Apache许可证下作为开源软件发布。

官方客户端在Java、.NET(C#)、PHP、Python、Apache Groovy、Ruby和许多其他语言中都是可用的。

根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr,也是基于Lucene。

Elasticsearch是与名为Logstash的数据收集和日志解析引擎以及名为Kibana的分析和可视化平台一起开发的。这三个产品被设计成一个集成解决方案,称为“Elastic Stack”(以前称为“ELK stack”)。

Elasticsearch可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。”Elasticsearch是分布式的,这意味着索引可以被分成分片,每个分片可以有0个或多个副本。每个节点托管一个或多个分片,并充当协调器将操作委托给正确的分片。再平衡和路由是自动完成的。“相关数据通常存储在同一个索引中,该索引由一个或多个主分片和零个或多个复制分片组成。一旦创建了索引,就不能更改主分片的数量。

Elasticsearch使用Lucene,并试图通过JSON和Java API提供其所有特性。它支持facetting和percolating,如果新文档与注册查询匹配,这对于通知非常有用。

另一个特性称为“网关”,处理索引的长期持久性;例如,在服务器崩溃的情况下,可以从网关恢复索引。Elasticsearch支持实时GET请求,适合作为NoSQL数据存储,但缺少分布式事务。

2 需求

想要爬取一个网站或者程序 ,希望添加搜索功能, 发现搜索工作很难:

  • 我们希望搜索解决方案要高效
  • 我们希望零配置和完全免费的搜索方案
  • 我们希望能够简单的通过json和http与搜索引擎交互
  • 我们希望我们的搜索服务器稳定
  • 我们希望能够简单的将一台服务器扩 展到上百台

3 用户

4 关系数据库搜索的缺点

1.无法打分

2.无分布式

3.无法解析搜索请求

4.效率低

5.分词

5 下载

  • brew info elasticsearch

各文件位置

代码语言:txt复制
Data:    /usr/local/var/lib/elasticsearch/elasticsearch_sss/
Logs:    /usr/local/var/log/elasticsearch/elasticsearch_sss.log
Plugins: /usr/local/var/elasticsearch/plugins/
Config:  /usr/local/etc/elasticsearch/

启动

代码语言:txt复制
To have launchd start elasticsearch now and restart at login:
  brew services start elasticsearch
Or, if you don't want/need a background service you can just run:
  elasticsearch
代码语言:txt复制
Config: /usr/local/etc/kibana/
代码语言:txt复制
To have launchd start kibana now and restart at login:
  brew services start kibana
Or, if you don't want/need a background service you can just run:
  kibana
  • 设置ES允许数据交换
  • 主机
  • 设置集群的主机列表,仅限于本地单机
简介简介
特点特点
image.pngimage.png
image.pngimage.png
image.pngimage.png

更多内容请关注公众号:JavaEdge

0 人点赞