# Elasticsearch 简称 es
# 搜索引擎实现流程
1. 安装 mysql (已经安装请无视)
2. 安装 es
安装教程: https://www.cnblogs.com/socketqiang/p/11363024.html
es 启动命令 :进入es安装文件夹
./bin/elasticsearch
./bin/elasticsearch -d 启动时 后台运行
./bin/elasticsearch -stop 停止运行, 也可以强制杀进程 。
注:es 数据是持久性保存,停止运行不会丢失已有数据
3. 安装 Elasticsearch-php
安装教程:https://www.elastic.co/guide/cn/elasticsearch/php/current/_quickstart.html
es 和 Elasticsearch-php 安装完成之后,已经可以实现操作 es 文档数据库
楼主是 laravel 操控
es 简单说明:
index =》 索引名称 ( 旧版本对应数据库, es 版本6以上 索引对应数据表
type =》 doc ( 早期对应表,版本7后废弃)
id =》 数据主键 可以自己填充 ( 不填写会自动生成,唯一 类型字符串)
body =》 行数据内容 ( 只能是一维数组)
use Elasticsearch\ClientBuilder
创建索引并且添加一行数据
查询索引
查询效果
重回流程说明
4. 同步数据( mysql 数据增量同步至 es)
同步教程:https://www.cnblogs.com/yszr/p/10284892.html
5. 直接查询 es
查询简单说明:
term:{"id":8} 精确查询 类似 sql id=8
terms:{"id":[8,9,10]} 精确查询 类似 sql id in (8,9,10)
query 会默认使用 分词查询 es 支持多种分词 默认分词 standard 可以手动下载安装 ik(分词器) elasticsearch-analysis-ik
ik 分词器下载地址: https://github.com/medcl/elasticsearch-analysis-ik
range 范围查询 类似 sql between 语句
详情指令说明地址: https://blog.csdn.net/u010325193/article/details/84877559