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 用户
![](https://img.haomeiwen.com/i16782311/d694378aa63fa16d.png)
4 关系数据库搜索的缺点
1.无法打分
2.无分布式
3.无法解析搜索请求
4.效率低
5.分词
5 下载
![](https://img.haomeiwen.com/i16782311/ba57dd478b92bd40.png)
-
brew info elasticsearch
image
各文件位置
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/
启动
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
![](https://img.haomeiwen.com/i16782311/beccab58b182ee25.png)
![](https://img.haomeiwen.com/i16782311/9fa040acd00c6ba1.png)
![](https://img.haomeiwen.com/i16782311/e0a39dcecea9d1b6.png)
![](https://img.haomeiwen.com/i16782311/cc1d73d1ac167917.png)
![](https://img.haomeiwen.com/i16782311/7053ad4bb95cc7d7.png)
Config: /usr/local/etc/kibana/
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
-
主机
image
-
设置集群的主机列表,仅限于本地单机
image
![](https://img.haomeiwen.com/i16782311/e58d6f5102c2b5e8.png)
![](https://img.haomeiwen.com/i16782311/1aaf6eb76e6c32fb.png)
![](https://img.haomeiwen.com/i16782311/161faa1c221ec8ca.png)
![](https://img.haomeiwen.com/i16782311/184e24fd8cb71bea.png)
![](https://img.haomeiwen.com/i16782311/710fa25a255a72cf.png)
![](https://img.haomeiwen.com/i16782311/18b3edf616d33bf0.png)
![](https://img.haomeiwen.com/i16782311/ba80632135c8e819.png)
![](https://img.haomeiwen.com/i16782311/cad613ed9502ce8c.png)
![](https://img.haomeiwen.com/i16782311/ce3d1f7a3ebcdaa3.png)
![](https://img.haomeiwen.com/i16782311/c074b2dfd3961239.png)
更多内容请关注公众号:JavaEdge
网友评论