elasticsearch简单理解:
index: es里的index相当于一个数据库。
type: 相当于数据库里的一个表。
id: 唯一,相当于主键。
node:节点是es实例,一台机器可以运行多个实例,但是同一台机器上的实例在配置文件中要确保http和tcp端口不同。
cluster:代表一个集群,集群中有多个节点,其中有一个会被选为主节点,这个主节点是可以通过选举产生的,主从节点是对于集群内部来说的。
shards:代表索引分片,es可以把一个完整的索引分成多个分片,这样的好处是可以把一个大的索引拆分成多个,分布到不同的节点上,构成分布式搜索。分片的数量只能在索引创建前指定,并且索引创建后不能更改。
replicas:代表索引副本,es可以设置多个索引的副本,副本的作用一是提高系统的容错性,当个某个节点某个分片损坏或丢失时可以从副本中恢复。二是提高es的查询效率,es会自动对搜索请求进行负载均衡。
环境 系统window,后台php,数据库mysql
elasticsearch 到官网下载解压即可,
D:\elasticsearch-6.2.4\bin\elasticsearch.bat 启动,在localhost:9200 可以查看是否启动成功
kibana ,是elasticsearch的图形管理工具的网站,到官网下载解压即可
启动后,http://localhost:5601可以查看是否启动成功
logstash ,是数据转换工具,用来将数据导入elasticsearch
创建logstash.default.conf文件,
1 | input { |
启动
logstash -f logstash_default.conf
安装logstash-input-jdbc
参考了https://blog.csdn.net/yowrhihoil/article/details/79568743
mysql-connector-java.jar 自己下载
重新配置logstash.default.conf文件
1 | input { |
sql文件就随便写条查询语句就行
启动logstash,ok
composer require elasticsearch/elasticsearch
php 调用 elasticsearch
1 | $hosts = [ |
linux 环境下安装注意文件权限,端口,ip地址,内存等