php Elasticsearch es 文档管理

本文涉及的产品
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
简介: php Elasticsearch es 文档管理

添加

$params = [
    'index' => 'my_index',
    'type' => 'person',
    'id' => 1, // 可不指定,自动生成
    'body' => [
        'user' => '张三',
        'title' => '工程师',
        'desc' => '数据库管理'
    ]
];
try {
    $response = app('es')->index($params);
    print_r($response);
} catch (\Exception $e) {
    echo 'error: ' . $e->getMessage();
}

更新

// 更新文档
$params = [
    'index' => 'my_index',
    'type' => 'person',
    'id' => 1,
    'body' => [
        'doc' => [
            'desc' => 'DBA'
        ]
    ]
];
try {
    $response = app('es')->update($params);
    print_r($response);
} catch (\Exception $e) {
    echo 'error: ' . $e->getMessage();
}

查看文档

// 获取文档
$params = [
    'index' => 'my_index',
    'type' => 'person',
    'id' => 1
];
try {
    $response = app('es')->get($params);
    print_r($response);
} catch (\Exception $e) {
    echo 'error: ' . $e->getMessage();
}

搜索

<?php
require_once './vendor/autoload.php';
use Elasticsearch\ClientBuilder;
$hosts = [
    'elasticsearch:9200',
];
// 实例化一个客户端
$client = ClientBuilder::create()->setHosts($hosts)->build();
// 搜索文档
$params = [
    'index' => 'my_index',
    'type' => 'person',
    'body' => [
        'query' => [
            'match' => [
                'desc' => '数据库'
            ]
        ]
    ]
];
try {
    $response = $client->search($params);
    print_r($response);
} catch (\Exception $e) {
    echo 'error: ' . $e->getMessage();
}

删除

<?php
require_once './vendor/autoload.php';
use Elasticsearch\ClientBuilder;
$hosts = [
    'elasticsearch:9200',
];
// 实例化一个客户端
$client = ClientBuilder::create()->setHosts($hosts)->build();
// 删除文档
$params = [
    'index' => 'my_index',
    'type' => 'person',
    'id' => 1
];
try {
    $response = $client->delete($params);
    print_r($response);
} catch (\Exception $e) {
    echo 'error: ' . $e->getMessage();
}
相关实践学习
使用阿里云Elasticsearch体验信息检索加速
通过创建登录阿里云Elasticsearch集群,使用DataWorks将MySQL数据同步至Elasticsearch,体验多条件检索效果,简单展示数据同步和信息检索加速的过程和操作。
ElasticSearch 入门精讲
ElasticSearch是一个开源的、基于Lucene的、分布式、高扩展、高实时的搜索与数据分析引擎。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr(也是基于Lucene)。 ElasticSearch的实现原理主要分为以下几个步骤: 用户将数据提交到Elastic Search 数据库中 通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据 当用户搜索数据时候,再根据权重将结果排名、打分 将返回结果呈现给用户 Elasticsearch可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。
相关文章
|
2月前
|
存储 自然语言处理 算法
面试题ES问题之Solr和Elasticsearch功能实现如何解决
面试题ES问题之Solr和Elasticsearch功能实现如何解决
44 2
|
4月前
|
Oracle 关系型数据库 API
实时计算 Flink版产品使用合集之当sink到elasticsearch时,可以指定es的指定字段吗
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStreamAPI、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
实时计算 Flink版产品使用合集之当sink到elasticsearch时,可以指定es的指定字段吗
|
7天前
|
JSON 自然语言处理 数据库
ElasticSearch基础1——索引和文档。Kibana,RestClient操作索引和文档+黑马旅游ES库导入
概念、ik分词器、倒排索引、索引和文档的增删改查、RestClient对索引和文档的增删改查
ElasticSearch基础1——索引和文档。Kibana,RestClient操作索引和文档+黑马旅游ES库导入
|
4月前
Elasticsearch【问题记录 02】【不能以root运行es + max virtual memory areas vm.max_map_count [65530] is too low处理】
【4月更文挑战第12天】Elasticsearch【问题记录 02】【不能以root运行es + max virtual memory areas vm.max_map_count [65530] is too low处理】
41 3
|
2月前
|
负载均衡 监控 搜索推荐
面试题ES问题之Solr和Elasticsearch在分布式管理上如何解决
面试题ES问题之Solr和Elasticsearch在分布式管理上如何解决
27 1
|
1月前
|
自然语言处理 Java 索引
ElasticSearch 实现分词全文检索 - Java SpringBoot ES 文档操作
ElasticSearch 实现分词全文检索 - Java SpringBoot ES 文档操作
28 0
|
1月前
|
自然语言处理 Java 索引
ElasticSearch 实现分词全文检索 - Java SpringBoot ES 索引操作
ElasticSearch 实现分词全文检索 - Java SpringBoot ES 索引操作
31 0
|
1月前
|
自然语言处理 Docker 容器
ElasticSearch 实现分词全文检索 - ES、Kibana、IK分词器安装
ElasticSearch 实现分词全文检索 - ES、Kibana、IK分词器安装
20 0
|
2月前
|
Docker 容器
docker desktop安装es并连接elasticsearch-head:5
以上就是在Docker Desktop上安装Elasticsearch并连接Elasticsearch-head:5的步骤。
78 2
|
2月前
|
数据库
面试题ES问题之Elasticsearch的排序分页和高亮功能如何解决
面试题ES问题之Elasticsearch的排序分页和高亮功能如何解决
25 0