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/zh-hk/n/147961.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
JEOH的頭像JEOH
上一篇 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

發表回復

登錄後才能評論