<?php
namespace app\controller;
use Elasticsearch\ClientBuilder;
class Es{
private $client;
// 构造函数
public function __construct()
{
$params = array(
'127.0.0.1:9200'
);
$this->client = ClientBuilder::create()->setHosts($params)->build();
}
// 创建索引
public function create_index($index_name = 'gk') { // 只能创建一次
$params = [
'index' => $index_name,
'body' => [
'settings' => [
'number_of_shards' => 5,
'number_of_replicas' => 0
]
]
];
return $this->client->indices()->create($params);
}
// 检查索引是否存在
public function check_index_exists($index_name = 'gk') {
$params = [
'index' => $$index_name
];
return $this->client->indices()->exists($params);
}
// 删除索引
public function delete_index($index_name = 'gk') {
$params = [
'index' => $index_name
];
return $this->client->indices()->delete($params);
}
// 创建文档模板
public function create_mappings($type_name = 'users',$index_name = 'gk') {
$params = [
'index' => $index_name,//这里是索引名,相当于数据库名
'type' => $type_name,//这里是类型名,相当于表名
'include_type_name' => true,//7.0以上版本必须有
'body' => [
//下面是数据类型定义,相当于数据库字段
'properties' => [
'id' => [
'type' => 'integer', // 整型 integer short long byte
'index' => 'false', // 非全
thinkphp结合elasticsearch实现全文搜索,搜索推荐,高亮显示
最新推荐文章于 2024-01-31 23:08:43 发布