Elastic 7.0以上的版本跟6.0的版本差距非常大,主要是没有type了,网上很多都是老版本的教程。导致我走了很多弯路。
-
新建一个文件夹取名为test,此为项目文件夹
-
在里面放入一个命名为composer.json的文件,文件内容为:
{
"require":{
"elasticsearch/elasticsearch" : "~7.0"
}
}
3. composer install
4. 这个时候test文件夹下面应该会出现vendor文件夹,里面有elasticsearch、composer、guzzle等文件夹,很多内容
官方文档 https://www.elastic.co/guide/en/elasticsearch/client/php-api/current/index.html
创建索引
<?php
require 'vendor/autoload.php'; //加载自动加载文件
#如果没有设置主机地址默认为127.0.0.1:9200
$client = Elasticsearch\ClientBuilder::create()->setHosts(['localhost:9200'])->build();
/**
* 创建索引
*/
$params = [
'index' => 'test', //索引名称
'body' => [
'settings'=> [ //配置
'number_of_shards'=> 3,//主分片数
'number_of_replicas'=> 1 //主分片的副本数
],
'mappings'=> [ //映射
'_source'=>[ // 存储原始文档
'enabled' => 'true'
],
'properties'=> [ //配置数据结构与类型
'name'=> [ //字段1
'type'=>'text',//类型 text、integer、float、double、boolean、date
'index'=> 'true',//是否索引
],
'age'=> [ //字段2
'type'=>'integer',
],
'sex'=> [ //字段3
'type'=>'keyword',
&#