移动建站模板,婚纱摄影网站的设计与实现,手机软件开发培训学校,郑州一建一、中间件简介1、基础概念ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎#xff0c;基于RESTful web接口。Elasticsearch是用Java开发的#xff0c;并作为Apache许可条款下的开放源码发布#xff0c;是当前流行的企业级搜索引擎…一、中间件简介1、基础概念ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎基于RESTful web接口。Elasticsearch是用Java开发的并作为Apache许可条款下的开放源码发布是当前流行的企业级搜索引擎。2、分布式数据库分布式数据库系统通常使用较小的计算机系统每台计算机可单独放在一个地方每台计算机中都可能有DBMS的一份完整拷贝副本或者部分拷贝副本并具有自己局部的数据库位于不同地点的许多计算机通过网络互相连接共同组成一个完整的、全局的逻辑上集中、物理上分布的大型数据库。3、核心角色1)节点和集群cluster代表一个集群集群中有多个节点其中有一个为主节点这个主节点是可以通过选举产生的主从节点是对于集群内部来说的。es的一个概念就是去中心化字面上理解就是无中心节点这是对于集群外部来说的因为从外部来看es集群在逻辑上是个整体。单个 Elastic 实例称为一个节点(node)。一组节点构成一个集群(cluster)。2)Shards分片代表索引分片es可以把一个完整的索引分成多个分片这样的好处是可以把一个大的索引拆分成多个分布到不同的节点上。构成分布式搜索。分片的数量只能在索引创建前指定并且索引创建后不能更改。3)Document文档Index 里面单条的记录称为 Document(文档)。许多条 Document 构成了一个 Index。Document 使用 JSON 格式表示。4)Index索引Elastic 会索引所有字段查找数据的时候直接查找该索引。每个 Index (即理解为数据库名称)的名字必须是小写。5)Type类型Document 可以根据Type进行虚拟的逻辑分组用来过滤 Document即理解为数据库表名称。二、中间件安装1、安装环境和版本Centos7JDK1.8elasticsearch-6.3.22、下载解压下载的路径当前目录的文件夹下也可以指定下载路径。wget -P 目录 网址。wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.3.2.zip[rootlocalhost roo]# mv elasticsearch-6.3.2.zip /usr/local/mysoft/[rootlocalhost mysoft]# unzip elasticsearch-6.3.2.zip3、启动软件[rootlocalhost mysoft]# cd elasticsearch-6.3.2/[rootlocalhost elasticsearch-6.3.2]# ./bin/elasticsearch1)报错一org.elasticsearch.bootstrap.StartupException:java.lang.RuntimeException: can not run elasticsearch as root新建用户组和用户[rootlocalhost]# useradd esroot[rootlocalhost]# passwd esroot[rootlocalhost]# groupadd esgroup[rootlocalhost]# usermod -g esgroup esrootesroot用户授权chown esroot /usr/local/mysoft/elasticsearch-6.3.2 -R切换到esroot用户[rootlocalhost mysoft]# su - esroot[esrootlocalhost ~]$ su #回到root用户2)报错二max file descriptors [4096] for elasticsearch process is too low,increase to at least [65536]执行如下命名该操作在Root权限下操作。[rootlocalhost roo]# vim /etc/security/limits.conf添加内容* soft nofile 65536* hard nofile 65536切回esroot用户再次启动没有报错信息。4、打开命令行测试curl localhost:9200[roolocalhost ~]$ curl localhost:9200{name : YMS44oi,cluster_name : elasticsearch,cluster_uuid : 2ZXjBnkJSjieV_k1IWMzrQ,version : {number : 6.3.2,build_flavor : default,build_type : zip,build_hash : 053779d,build_date : 2018-07-20T05:20:23.451332Z,build_snapshot : false,lucene_version : 7.3.1,minimum_wire_compatibility_version : 5.6.0,minimum_index_compatibility_version : 5.0.0},tagline : You Know, for Search}这样elasticsearch-6.3.2环境搭建成功。请求9200端口Elastic 返回一个 JSON 对象包含当前节点、集群、版本等信息。按下 Ctrl  CElastic 就会停止运行。5、配置外部访问默认情况下Elastic 只允许本机访问如果需要远程访问可以修改 Elastic 安装目录的config/elasticsearch.yml文件去掉network.host的注释将它的值改成0.0.0.0然后重新启动 Elastic。[esrootlocalhost config]$ cd /usr/local/mysoft/elasticsearch-6.3.2/config[esrootlocalhost config]$ vim elasticsearch.ymlnetwork.host: 0.0.0.06、安装IK中文分词器切换到root用户[rootlocalhost elasticsearch-6.3.2]$ ./bin/elasticsearch-plugininstallhttps://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.3.2/elasticsearch-analysis-ik-6.3.2.zip三、入门操作索引创建和删除1、创建索引[esrootlocalhost ~]$ curl -X PUT localhost:9200/esindex01# 返回数据{acknowledged: true,shards_acknowledged: true,index: esindex01}服务器返回一个 JSON 对象acknowledgedtrue字段表示操作成功。2、删除索引[esrootlocalhost ~]$ curl -X DELETE localhost:9200/esindex01{acknowledged:true}acknowledgedtrue字段表示操作成功。四、源代码地址GitHub地址知了一笑https://github.com/cicadasmile码云地址知了一笑https://gitee.com/cicadasmile