当前位置: 代码迷 >> 综合 >> ElasticSearch PHP 搜索引擎
  详细解决方案

ElasticSearch PHP 搜索引擎

热度:82   发布时间:2023-11-16 22:10:19.0
  • 1. 安装:
    • 安装ElasticSearch
    • 安装插件 elasticsearch-head
    • 分布式安装elasticsearch
    • 安装php扩展
    • php操作elasticsearch
    • elasticsearch官方文档
    • elasticsearch 6.x版本字段类型
    • Elasticsearch Mapping的解析、数据类型、Mapping 支持属性、Mapping 字段设置流程

1. 安装:

参考网址 https://www.cnblogs.com/liuxiaoming123/p/8081883.html

安装ElasticSearch

Elastic官方网站: http://www.elastic.co

1.下载获得压缩文件elasticsearch-6.5.4.tar

2.解压压缩包 解压命令:tar -vxf elasticsearch-6.5.4.tar

3.切换目录 cd elasticsearch-6.5.4

  • bin:存放脚本
  • config:存放配置文件目录
  • modules模块目录
  • lib是依赖第三方库的目录
  • plugins存放第三方插件目录

4.启动ElasticSearch

  • 启动之前需要确保环境已安装java-jdk 安装网址 https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
  • 启动elasticsearch命令:sh ./bin/elasticsearch
    注:出现starting与started表示启动成功,出现127.0.0.1:9200表示默认监听端口9200
    注: 可能会出现权限不足的问题 请使用chmod/chown等指令对目录进行提权

安装插件 elasticsearch-head

插件地址:https://github.com/mobz/elasticsearch-head

1.git下载命令 git clone https://github.com/mobz/elasticsearch-head.git
2.关闭之前启动的elasticsearch服务 Mac终端:Ctrl + c
3.切换目录 :cd elasticsearch-head
4.检查node环境,输入命令:node -v
注:若未安装node 则可参考:http://blog.csdn.net/u011619283/article/details/52368759
5.由于head插件与ElasticSearch是两个独立的进程,它们之间的访问有跨域问题,则对ElasticSearch的配置进行相应的修改

  • 修改 elasticsearch.yml 文件,输入命令:vim config/elasticsearch.yml
  • 在文档的最末端加入:
    http.cors.enabled: true
    http.cors.allow-origin: "*"
  • 按 Esc 输入 :wq! 保存退出

6.后台启动ElasticSearch,切换到ElasticSearch目录,输入命令 :./bin/elasticsearch -d
注: 指令:jps 查看进程, kill 相应进程数字结束服务.
7.切换到head插件目录 启动插件(npm是node的包的安装工具)输入命令: npm run start
8.插件默认浏览器请求地址: 127.0.0.1:9100

分布式安装elasticsearch

1.修改elasticsearch配置,使elasticsearch变成一个master:

  1. 进入目录:修改 elasticsearch.yml
  2. 在配置文件中加入:
    #  集群名称
    cluster.name: 自定义集群名字
    #  master名称
    node.name: master
    node.master: true
    network.host: 127.0.0.1 
  3. 保存并退出

2.先查看下之前的服务是否关闭,输入命令: ps -ef|grep pwd (若未关闭则直接杀死进程即可:kill -9 端口号)
3.确认无ElasticSearch服务后,重新启动ElasticSearch: ./bin/elasticsearch -d

4.启动head插件,在elasticsearch-head-master目录下, 输入命令: npm run start

5.在浏览器输入请求: http://localhost:9100
6.接下来进行随从节点的操作:

  1. 创建文件夹es_slave :mkdir es_slave
  2. 将 elasticsearch-6.5.4.tar 文件copy到 es_slave目录下:cp elasticsearch-6.5.4.tar es_slave/
  3. 进入es_slave 目录下: cd es_slave/
  4. 将elasticsearch-6.5.4.tar 文件进行解压:tar -vxf elasticsearch-6.5.4.tar
  5. 将elasticsearch-6.5.4 copy 两份,分别叫做es_slave1和es_slave2
    输入两次命令为: cp -r elasticsearch-6.5.4 es_slave1
    回车,再输入: cp -r elasticsearch-6.5.4 es_slave2

7.先到 es_slave1 修改下配置 : vim es_slave1/config/elasticsearch.yml
     #节点名称
     node.name: slave1   
     network.host: 127.0.0.1
     #自定义端口号
      http.port: 9300
      discovery.zen.ping.unicast.hosts: ["127.0.0.1"]

8.启动相应服务 ./es_slave1/bin/elasticsearch -d

9.再到es_slave2重复操作 步骤7-8的操作

安装php扩展

参考网址 https://www.elastic.co/guide/cn/elasticsearch/php/current/_installation_2.html

1.检测是否有composer环境 检测指令:composer —version 如未安装需要先安装composer

  1. 安装指令 curl -sS https://getcomposer.org/installer | php
  2. mv composer.phar /usr/local/bin/composer

2.在项目根目录输入指令 composer require elasticsearch/elasticsearch 进行安装

php操作elasticsearch

参考网址 https://www.elastic.co/guide/cn/elasticsearch/php/current/index.html

elasticsearch官方文档

https://www.elastic.co/guide/en/elasticsearch/reference/current/removal-of-types.html

elasticsearch 6.x版本字段类型

参考网址 https://blog.csdn.net/chengyuqiang/article/details/79048800

Elasticsearch Mapping的解析、数据类型、Mapping 支持属性、Mapping 字段设置流程

参考网址 https://blog.csdn.net/zx711166/article/details/81667862

Elasticsearch集群可以包含多个索引(数据库),这些索引又包含多个类型(表)。这些类型包含多个文档(行),每个文档都有多个字段(列)

单台服务器部署多个节点(https://www.cnblogs.com/wxw16/tag/Elasticsearch)

  相关解决方案