安装电子搜索
因为本人的操作系统是deepin的liunx系统,所以本博客发布Linux安装步骤。
1 .前言
Elasticsearch概述* Elasticsearch是一个实时分布式搜索和分析引擎。 这有助于你以前所未有的速度处理大数据。
可用于全文检索、结构化检索和分析。 当然,这三者也可以结合起来。
Elasticsearch是基于全文搜索引擎Apache Lucene构建的搜索引擎,可以说Lucene是当今最先进、最高效的全功能开源搜索引擎框架。
但是,Lucene只是一个框架,必须使用JAVA并将Lucene集成到程序中才能充分利用其功能。 了解它是如何工作的需要很多学习,Lucene确实非常复杂。
虽然Elasticsearch使用Lucene作为内部引擎,但如果将其用于全文搜索,则无需了解其背后的复杂Lucene是如何工作的,只需使用统一开发的API即可。
当然,Elasticsearch不仅具有Lucene,还具有全文搜索功能,还可以执行以下操作:
分布实时文件存储,以便可以对每个字段进行索引和搜索。
实时分析的分布式搜索引擎。
可以扩展到数百台服务器,以处理Pb级结构化或非结构化数据。
这些功能都集成到单个服务器中,使您可以轻松地用客户端和您喜欢的程序语言与ES的rest风格的API进行通信。
电子搜索的技巧非常简单。 这有很多非常合理的默认值,这样初学者很快就可以避免面对复杂的理论
安装后即可立即使用,只需很少的学习成本即可实现生产力。
学习越多,您就越能利用Elasticsearch的更高级功能,从而灵活地配置整个引擎。 您可以根据自己的需求定制自己的elastic搜索。
使用案例:
维基百科使用Elasticsearch进行全文搜索,突出显示关键字,并提供搜索建议功能,如search-as-you-type和did-you-mean。
《卫报》使用Elasticsearch处理访问者日志,以实时向编辑反馈公众对各种文章的反应。
堆栈溢出将全文搜索、地理位置和相关信息相结合,以表达“多生命周期”相关问题。
GitHub使用Elasticsearch搜索超过1300亿行代码。
每天,Goldman Sachs都用它来处理5TB数据的索引,并使用很多投票来分析股市波动。
但是,Elasticsearch不仅面向大公司,还帮助许多创业公司(如DataDog和Klout )扩展功能。
Elasticsearch的优缺点**:的优点Elasticsearch分散。 不需要其他组件。 分发是实时的,称为“推送复制”。 Elasticsearch完全支持Apache Lucene的接近实时搜索。 处理多租户不需要特殊配置,但Solr需要更高级的设置。 Elasticsearch采用网关概念,因此可以轻松完成备份。 每个节点构成对等的网络结构,在某些节点发生故障时,会自动分配其他节点进行工作。 缺点一个开发人员(目前的Elasticsearch GitHub组织已经不仅如此,而且已经有相当活跃的维护者) (不适合现在的新索引warmup API )。参考https://www.cn blogs.com/CCC
容错堆栈的核心Elasticsearch是分布式rest风格的搜索和分析引擎,可以解决越来越多的用例。 Elastic Stack的核心是集中存储数据,以发现和发现意外情况。
你和数据的关系会发生变化。 我有充裕的时间反复覆盖更多的基础。
ElasticSearch实现了用于全文查询的带有限状态传感器的反向索引、用于存储数字和地理数据的BKD树以及用于分析的列存储。
由于所有内容都是索引的,因此在使用过程中不会发生索引冲突。 可以非常快速地利用和访问所有数据。
使用强大的扩展Elasticsearch向群集添加用户名和密码,监视Elasticsearch的运行方式,运行机器学习作业以检测异常,以及使用X-Pack功能。
X-Pack可轻松安装在Elasticsearch上,提高安全性、监控、警告、报告、图形搜索和机器学习能力。
margin-left:0px;">Elasticsearch-head 以及 bigdesk
2.下载
名称版本下载地址elasticsearch1.7.3elasticsearch-1.7.3.tar.gz下载后,放到你的目录下并解压. 因为我们要配置包含三个节点的集群,可以先将其重命名为elasticsearch-node1。比如我的是 /home/hushuai/elasticsearch/elasticsearch-node1
3.修改配置文件
打开/home/hushuai/elasticsearch/config/ 目录下的elasticsearch.yml 文件 ,修改以下属性值并取消该行的注释:
进一步修改
拷贝 elasticsearch-node1 整个文件夹,两份,一份elasticsearch-node2,一份elasticsearch-node3.
/home/hushuai/elasticsearch/config/elasticsearch.yml 文件修改如下:
node.name: "es-node2"
transport.tcp.port: 9301
http.port: 9201
node.name: "es-node3"
transport.tcp.port: 9302
http.port: 9202
因为是在一台机器在实现的集群,只要端口不被占用就可以。
如果想真的放的多台机器上,只需要根据我的配置修改端口即可。
运行 & 关闭 elasticsearch
1.运行elasticsearch :
编辑 /home/hushuai/elasticsearch/苗条的丝袜/elasticsearch.in.sh, 设置 ES_MIN_MEM和ES_MAX_MEM,确保二者数值一致。
若想让es后台运行,则
./elasticsearch -Xms512m -Xmx512m
2.关闭elasticsearch:
来关闭整个集群,通过:
curl -X POST http://主机IP:9200/_cluster/nodes/节点标识符(如es-node1)/_shutdown
安装相关组件:
BigDesk Plugin : 弹性搜索集群的实时图表和统计数据。http://bigdesk.org/
Elasticsearch Head Plugin: elasticsearch-head是一个用于浏览和与弹性搜索集群交互的Web前端。
http://mobz.github.io/elasticsearch-head/
1.安装head插件
进入到节点elasticsearch-node1/苗条的丝袜路径,并安装插件。
./plugin -install mobz/elasticsearch-head
2. 安装bigdesk
./plugin -install lukas-vlcek/bigdesk
打开head浏览,浏览器输入http://127.0.0.1:9200/_plugin/head/
特别注意:粗框的是主分片,细框的是备份分片。
接下里,我们需要根据官方的https://www.oschina.net/translate/elasticsearch-getting-started?cmp来插入数据
curl -XPUT 'http://127.0.0.1:9200/dept/employee/1' -d '{ "empname": "emp1"}'
curl -XPUT 'http://127.0.0.1:9200/dept/employee/2' -d '{ "empname": "emp2"}'
curl -XPUT 'http://127.0.0.1:9200/dept/employee/3' -d '{ "empname": "emp3"}'
...
搜索 XXX 的文档, 查询条件 #是区分保存数据最开始分类。
在查看以上的搜索的文档里的内容,以dept为例子。
可直接在ES对应的IP:port后加文档的名字获取所有结果,例如 http://127.0.0.1:9200/dept
本人Java出身,而ES是由Java编写,并且在数据量越来越大时,几乎对性能没有影响,所以相比于solr,对ES更情有独钟。
相关链接:
https://www.elastic.co/products/elasticsearch
https://www.oschina.net/translate/elasticsearch-getting-started?cmp