Mac Elasticsearch详细解析

一、简介

Mac Elasticsearch是一款用于实时搜索和分析的开源搜索引擎,由Apache Lucene构建而成,可通过HTTP请求进行数据搜索、存储及分析。该搜索引擎具有快速、稳定、可扩展性强等特点,广泛应用于全文搜索、日志分析、应用程序性能监测等领域。

二、部署和配置

1、安装Java运行环境


brew cask install java

2、下载elasticsearch安装包,并解压


wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.13.1-darwin-x86_64.tar.gz
tar zxvf elasticsearch-7.13.1-darwin-x86_64.tar.gz

3、修改配置文件


cd elasticsearch-7.13.1/config
vim elasticsearch.yml

在文件中添加以下内容:


cluster.name: my-application
node.name: node-1
path.data: /path/to/data
path.logs: /path/to/logs
network.host: 0.0.0.0
http.port: 9200

4、启动elasticsearch


cd elasticsearch-7.13.1/bin
./elasticsearch

三、索引和搜索

1、创建索引


PUT /my-index
{
  "settings": {
    "number_of_shards": 3,
    "number_of_replicas": 2
  }
}

2、批量添加数据


POST /my-index/_bulk
{ "index": { "_id": "1" }}
{ "title": "Mac Elasticsearch", "body": "This is a great search engine." }
{ "index": { "_id": "2" }}
{ "title": "Java Programming", "body": "Java is a popular programming language." }

3、搜索数据


GET /my-index/_search?q=title:elasticsearch

返回结果:


{
  "took": 1,
  "timed_out": false,
  "_shards": {
    "total": 3,
    "successful": 3,
    "skipped": 0,
    "failed": 0
  },
  "hits": {
    "total": {
      "value": 1,
      "relation": "eq"
    },
    "max_score": 0.18232156,
    "hits": [
      {
        "_index": "my-index",
        "_type": "_doc",
        "_id": "1",
        "_score": 0.18232156,
        "_source": {
          "title": "Mac Elasticsearch",
          "body": "This is a great search engine."
        }
      }
    ]
  }
}

四、聚合和过滤

1、按照年龄分组,统计每组人数


GET /people/_search
{
  "size": 0,
  "aggs": {
    "age_groups": {
      "terms": {
        "field": "age"
      }
    }
  }
}

2、按照年龄分组,统计每个分组中身高最低的人的信息


GET /people/_search
{
  "size": 0,
  "aggs": {
    "age_groups": {
      "terms": {
        "field": "age"
      },
      "aggs": {
        "shortest_person": {
          "top_hits": {
            "sort": [
              {
                "height": {
                  "order": "asc"
                }
              }
            ],
            "size": 1
          }
        }
      }
    }
  }
}

3、过滤结果,只显示身高在170cm以上的人


GET /people/_search
{
  "query": {
    "bool": {
      "must": [
        { "match_all": {} }
      ],
      "filter": [
        { "range": { "height": { "gte": 170 } } }
      ]
    }
  }
}

五、常用API

1、索引API


PUT /my-index
POST /my-index/_doc/1
{
  "title": "Mac Elasticsearch",
  "body": "This is a great search engine."
}
GET /my-index/_doc/1
DELETE /my-index/_doc/1

2、搜索API


GET /my-index/_search?q=title:elasticsearch
GET /my-index/_search
{
  "query": {
    "match": {
      "title": "elasticsearch"
    }
  }
}

3、聚合API


GET /my-index/_search
{
  "size": 0,
  "aggs": {
    "age_groups": {
      "terms": {
        "field": "age"
      }
    }
  }
}

4、更新API


POST /my-index/_doc/1/_update
{
  "doc": {
    "title": "New title",
    "body": "This is a great search engine."
  }
}

5、删除API


DELETE /my-index

六、结论

Mac Elasticsearch是一款功能强大的搜索引擎,支持实时搜索和分析等功能,而且配置简单、API丰富,应用范围广泛。开发者可以根据自己的需求,通过索引和搜索实现全文搜索、日志分析、数据监测等功能,让应用程序性能更加优越。

原创文章,作者:JEOH,如若转载,请注明出处:https://www.506064.com/n/147961.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
JEOHJEOH
上一篇 2024-11-02 13:16
下一篇 2024-11-02 13:16

相关推荐

  • Mac自带Python:你不知道的全能开发工具

    你知道吗?你的Mac自带Python!而且它能够支持开发多种应用程序、执行的任务也很多种多样。让我们一起来探索一下Mac自带Python的神奇功能吧! 一、快速入门 要马上开始使用…

    编程 2025-04-29
  • Elasticsearch API使用用法介绍-get /_cat/allocation

    Elasticsearch是一个分布式的开源搜索和分析引擎,支持全文检索和数据分析,并且可伸缩到上百个节点,处理PB级结构化或非结构化数据。get /_cat/allocation…

    编程 2025-04-28
  • 如何在Mac上升级Python3并进行配置

    如果你正在使用Mac电脑进行编程开发,升级Python3并进行配置是一个必备的步骤。本文将从多个方面详细介绍如何在Mac上升级Python3并进行配置,让你在编程开发中更加顺畅地使…

    编程 2025-04-27
  • 如何在Mac上运行Python3

    Python是一种简单易学且功能强大的编程语言,它在多个领域有着广泛的应用。在Mac上,预装的是Python2,但我们也可以通过安装Python3来使用最新版的Python。本文将…

    编程 2025-04-27
  • Elasticsearch Scroll Java的使用指南

    本文旨在详细介绍如何使用Elasticsearch Scroll Java。Elasticsearch Scroll Java是一种高效的遍历大型数据集的方法。通过它,我们可以逐个…

    编程 2025-04-27
  • mac 安装xhyve

    本文将为大家详细介绍macOS下如何安装xhyve,为方便大家理解,让我们逐步深入探讨。 一、xhyve 是什么 xhyve是一种轻量级虚拟化技术,它使用macOS 的Hyperv…

    编程 2025-04-27
  • index.html怎么打开 – 详细解析

    一、index.html怎么打开看 1、如果你已经拥有了index.html文件,那么你可以直接使用任何一个现代浏览器打开index.html文件,比如Google Chrome、…

    编程 2025-04-25
  • 如何在Mac上安装Ruby

    一、Mac安装更新 在安装过程之前,确保你的Mac系统已更新到最新版本。这可以通过在菜单栏中选择“” → “关于本机” → “软件更新”来完成。 一旦软件更新完毕,你就可以开始安…

    编程 2025-04-25
  • Resetful API的详细阐述

    一、Resetful API简介 Resetful(REpresentational State Transfer)是一种基于HTTP协议的Web API设计风格,它是一种轻量级的…

    编程 2025-04-25
  • neo4j菜鸟教程详细阐述

    一、neo4j介绍 neo4j是一种图形数据库,以实现高效的图操作为设计目标。neo4j使用图形模型来存储数据,数据的表述方式类似于实际世界中的网络。neo4j具有高效的读和写操作…

    编程 2025-04-25

发表回复

登录后才能评论