从零开始使用 Elasticsearch(8.14.0)搭建全文搜索引擎

warning: 这篇文章距离上次修改已过250天,其中的内容可能已经有所变动。

以下是搭建Elasticsearch全文搜索引擎的基本步骤和示例代码:

  1. 安装Elasticsearch:

    • 访问Elasticsearch官方网站下载对应版本的压缩包。
    • 解压缩到指定目录。
    • 运行Elasticsearch。在Elasticsearch根目录下运行以下命令:

      
      
      
      bin/elasticsearch
  2. 安装Elasticsearch-Head插件(可选,用于提供一个用于监控和管理Elasticsearch的界面):

    • 在Elasticsearch根目录下运行以下命令来安装Elasticsearch-Head:

      
      
      
      ./bin/elasticsearch-plugin install https://github.com/mobz/elasticsearch-head/releases/download/7.10.0/elasticsearch-head-7.10.0.zip
    • 启动Elasticsearch-Head:

      
      
      
      ./bin/grunt server
  3. 通过REST API或者使用Elasticsearch客户端库(例如官方的Elasticsearch-PHP客户端)与Elasticsearch交互。

以下是使用PHP客户端与Elasticsearch交互的基本代码示例:




<?php
 
require 'vendor/autoload.php'; // 确保通过Composer安装了elasticsearch/elasticsearch 客户端库
 
use Elasticsearch\ClientBuilder;
 
$client = ClientBuilder::create()
    ->setHosts(['localhost:9200'])  // 替换为你的Elasticsearch服务地址
    ->build();
 
// 创建索引
$params = [
    'index' => 'my_index',
    'body' => [
        'settings' => [
            'number_of_shards' => 1,
            'number_of_replicas' => 0
        ]
    ]
];
$response = $client->indices()->create($params);
 
// 添加文档
$params = [
    'index' => 'my_index',
    'id' => 'my_id',
    'body' => [
        'name' => 'John Doe',
        'age' => 30,
        'about' => 'I love to go rock climbing'
    ]
];
$response = $client->index($params);
 
// 搜索文档
$params = [
    'index' => 'my_index',
    'body' => [
        'query' => [
            'match' => [
                'about' => 'rock climbing'
            ]
        ]
    ]
];
$response = $client->search($params);
 
print_r($response);

确保在执行以上代码之前,你已经通过Composer安装了Elasticsearch的PHP客户端库,并且Elasticsearch服务正在运行。

评论已关闭

推荐阅读

DDPG 模型解析,附Pytorch完整代码
2024年11月24日
DQN 模型解析,附Pytorch完整代码
2024年11月24日
AIGC实战——Transformer模型
2024年12月01日
Socket TCP 和 UDP 编程基础(Python)
2024年11月30日
python , tcp , udp
如何使用 ChatGPT 进行学术润色?你需要这些指令
2024年12月01日
AI
最新 Python 调用 OpenAi 详细教程实现问答、图像合成、图像理解、语音合成、语音识别(详细教程)
2024年11月24日
ChatGPT 和 DALL·E 2 配合生成故事绘本
2024年12月01日
omegaconf,一个超强的 Python 库!
2024年11月24日
【视觉AIGC识别】误差特征、人脸伪造检测、其他类型假图检测
2024年12月01日
[超级详细]如何在深度学习训练模型过程中使用 GPU 加速
2024年11月29日
Python 物理引擎pymunk最完整教程
2024年11月27日
MediaPipe 人体姿态与手指关键点检测教程
2024年11月27日
深入了解 Taipy:Python 打造 Web 应用的全面教程
2024年11月26日
基于Transformer的时间序列预测模型
2024年11月25日
Python在金融大数据分析中的AI应用(股价分析、量化交易)实战
2024年11月25日
AIGC Gradio系列学习教程之Components
2024年12月01日
Python3 `asyncio` — 异步 I/O,事件循环和并发工具
2024年11月30日
llama-factory SFT系列教程:大模型在自定义数据集 LoRA 训练与部署
2024年12月01日
Python 多线程和多进程用法
2024年11月24日
Python socket详解,全网最全教程
2024年11月27日