当前位置: 首页 > article >正文

Elasticsearch基本使用详解

文章目录

  • Elasticsearch基本使用详解
    • 一、引言
    • 二、环境搭建
      • 1、安装 Elasticsearch
      • 2、安装 Kibana(可选)
    • 三、索引操作
      • 1、创建索引
      • 2、查看索引
      • 3、删除索引
    • 四、数据操作
      • 1、插入数据
      • 2、查询数据
        • (1)简单查询
        • (2)多字段查询
        • (3)高亮显示
    • 五、总结

Elasticsearch基本使用详解

在这里插入图片描述

一、引言

Elasticsearch 是一款基于 Lucene 构建的开源分布式全文搜索引擎,以其强大的搜索功能和灵活的数据处理能力而广泛应用于日志分析、全文检索、实时数据分析等场景。本文将详细介绍 Elasticsearch 的基本使用方法,包括环境搭建、索引操作、数据插入与查询等,帮助读者快速上手。

二、环境搭建

1、安装 Elasticsearch

  • 下载与安装:访问 Elasticsearch 官方下载页面,根据操作系统选择合适的版本进行下载。下载完成后,解压到本地目录。

  • 启动服务:在解压后的 bin 目录下,运行 elasticsearch.bat(Windows)或 elasticsearch(Linux/macOS)启动 Elasticsearch。

  • 验证安装:打开浏览器访问 http://localhost:9200,如果返回类似以下的 JSON 响应,说明安装成功:

    JSON复制

    {
      "name": "my-node",
      "cluster_name": "my-cluster",
      "cluster_uuid": "xxxxxx",
      "version": {
        "number": "8.x.x",
        "build_flavor": "default",
        "build_type": "tar",
        "build_hash": "xxxxxx",
        "build_date": "xxxxxx",
        "build_snapshot": false,
        "lucene_version": "xxxxxx",
        "minimum_wire_compatibility_version": "xxxxxx",
        "minimum_index_compatibility_version": "xxxxxx"
      },
      "tagline": "You Know, for Search"
    }
    

2、安装 Kibana(可选)

Kibana 是 Elasticsearch 的可视化工具,方便进行数据管理和查询操作。

  • 下载与安装:访问 Kibana 官方下载页面,下载与 Elasticsearch 版本匹配的 Kibana。
  • 启动服务:在解压后的 bin 目录下,运行 kibana.bat(Windows)或 kibana(Linux/macOS)启动 Kibana。
  • 访问 Kibana:打开浏览器访问 http://localhost:5601,通过 Kibana 的界面可以方便地管理 Elasticsearch 索引和数据。

三、索引操作

1、创建索引

创建索引时可以指定索引名称和一些配置参数,如分片数和副本数。

JSON复制

PUT /my_index
{
  "settings": {
    "number_of_shards": 3,
    "number_of_replicas": 1
  }
}
  • 说明number_of_shards 表示主分片数量,number_of_replicas 表示副本数量。分片和副本的数量可以根据集群规模和数据量进行调整。

2、查看索引

通过以下命令可以查看索引的详细信息。

JSON复制

GET /my_index
  • 返回结果:返回的 JSON 数据中包含索引的配置信息、状态等。

3、删除索引

如果不再需要某个索引,可以通过以下命令删除。

JSON复制

DELETE /my_index
  • 注意事项:删除索引会丢失该索引中的所有数据,操作前需谨慎确认。

四、数据操作

1、插入数据

向索引中插入数据时,需要指定索引名称、文档 ID(可选)和数据内容。

JSON复制

POST /my_index/_doc/1
{
  "name": "John Doe",
  "age": 30,
  "email": "john.doe@example.com"
}
  • 说明_doc 是默认的文档类型(Elasticsearch 7.x 及以上版本中文档类型已废弃,但仍然可以使用默认类型 _doc)。如果不指定文档 ID,Elasticsearch 会自动生成一个。

2、查询数据

(1)简单查询

使用 match 查询可以对某个字段进行全文检索。

JSON复制

GET /my_index/_search
{
  "query": {
    "match": {
      "name": "John"
    }
  }
}
  • 说明:该查询会返回 name 字段中包含“John”的所有文档。
(2)多字段查询

如果需要在多个字段中进行搜索,可以使用 multi_match 查询。

JSON复制

GET /my_index/_search
{
  "query": {
    "multi_match": {
      "query": "John Doe",
      "fields": ["name", "email"]
    }
  }
}
  • 说明:该查询会在 nameemail 字段中搜索包含“John Doe”的文档。
(3)高亮显示

为了突出显示搜索结果中的匹配内容,可以使用 highlight 功能。

JSON复制

GET /my_index/_search
{
  "query": {
    "match": {
      "name": "John"
    }
  },
  "highlight": {
    "fields": {
      "name": {}
    }
  }
}
  • 返回结果:匹配的字段内容会以高亮形式返回,例如:

    JSON复制

    {
      "hits": {
        "total": {
          "value": 1,
          "relation": "eq"
        },
        "max_score": 1.0,
        "hits": [
          {
            "_index": "my_index",
            "_type": "_doc",
            "_id": "1",
            "_score": 1.0,
            "_source": {
              "name": "John Doe",
              "age": 30,
              "email": "john.doe@example.com"
            },
            "highlight": {
              "name": ["<em>John</em> Doe"]
            }
          }
        ]
      }
    }
    

五、总结

本文详细介绍了 Elasticsearch 的基本使用方法,包括环境搭建、索引操作和数据操作。通过这些基础操作,读者可以快速入门并开始使用 Elasticsearch 进行数据存储和检索。Elasticsearch 的强大功能不仅限于此,它还支持复杂的查询、聚合分析、集群管理等高级功能,值得深入学习和探索。


版权声明:本博客内容为原创,转载请保留原文链接及作者信息。

参考文章

  • 搜索中间件 ELASTICSEARCH 思维导图-java架构 代码示例
  • ElasticSearch篇——初始、认识、拿下ElasticSearch,一篇文章带你入门ES,涵盖ES概念,对比Solr,ES核心概念以及常见工具head、kibana安装和使用,保姆级教程!!!

http://www.kler.cn/a/528672.html

相关文章:

  • pytorch实现循环神经网络
  • ReentrantReadWriteLock源码分析
  • 数据库对象
  • 【Quest开发】手柄单手抓握和双手抓握物体切换
  • 网站结构优化:加速搜索引擎收录的关键
  • C#方法(练习)
  • MySQL(高级特性篇) 15 章——锁
  • 2025全自动企业站群镜像管理系统 | 支持繁简转换拼音插入
  • Ollama使用快速入门
  • 通过 Docker 部署 pSQL 服务器的教程
  • Java的输入和输出
  • jvm - GC篇
  • 蓝桥杯思维训练营(二)
  • git多人协作
  • 解锁豆瓣高清海报(二) 使用 OpenCV 拼接和压缩
  • 【Block总结】CPCA,通道优先卷积注意力|即插即用
  • 04树 + 堆 + 优先队列 + 图(D1_树(D6_B树(B)))
  • 软件模拟I2C案例前提须知——EEPROM芯片之M24C02
  • Unity 资源 之 2D烟花效果资源分享
  • neo4j入门
  • Qt之数据库操作三
  • 音叉模态分析
  • mac和linux传输文件
  • Autogen_core源码:_cancellation_token.py
  • F. Greetings
  • 深入理解--JVM 类加载机制详解