跳至內容
出自 Arch Linux 中文维基

摘自 維基百科:

Elasticsearch 是一個基於 Lucene 庫的搜尋引擎。它提供了一個分布式、支持多租戶的全文搜尋引擎,具有 HTTP web 接口和無模式 JSON 文檔。Elasticsearch 是用 Java 開發的,以 Apache 許可證開源。

安裝

Elasticsearch 依賴於 jre-openjdk-headless,詳細信息請參考 Java

安裝 elasticsearchAUR

運行

如果你在 /usr/share/elasticsearch/config/elasticsearch.keystore 位置下還沒有密鑰庫,需要在啟動 Elasticsearch 前先創建一個:

# elasticsearch-keystore create

之後就可以啟動/啟用 elasticsearch.service

使用 curl 來確保 Elasticsearch 正在運行且可被訪問,用法為 curl '<protocol>://<host>:<port>'

curl http://127.0.0.1:9200
{
  "name" : "Sunder",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "*cluster-uuid*",
  "version" : {
    "number" : "2.4.1",
    "build_hash" : "c67dc32e24162035d18d6fe1e952c4cbcbe79d16",
    "build_timestamp" : "2016-09-27T18:57:55Z",
    "build_snapshot" : false,
    "lucene_version" : "5.5.2"
  },
  "tagline" : "You Know, for Search"
}

配置

Elasticsearch 的主配置文件位於 /etc/elasticsearch/elasticsearch.yml 位置下,有著完善的說明文檔。

  • 默認情況下 Elasticsearch 可被公開訪問,建議僅允許本機訪問:
network.host: 127.0.0.1
  • 可以自定義其它埠,而不是使用默認的 9200 埠:
http.port: 9200
警告:elasticsearch.service 可能會因內存不足而被中斷:「A process of this unit has been killed by the OOM killer.」

你可以修改默認初始及最大可用內存量 [1]

/etc/elasticsearch/jvm.options.d/.options
# Xms represents the initial size of total heap space
# Xmx represents the maximum size of total heap space

-Xms2g # e.g. 256m, 512m, 1g, 2g, ..
-Xmx2g # e.g. 256m, 512m, 1g, 2g, ..

如果你碰到了 Linux 內存不足報錯,可以將其從 4g 修改到 2g。

你可能會需要更新系統 vm.max_map_count 限制:

# sysctl -w vm.max_map_count=262144
注意:安裝 elasticsearchAUR 後就已通過 /usr/lib/sysctl.d/elasticsearch.conf 提高了 vm.max_map_count 大小。

用法

Elasticsearch 使用了 REST API,更多信息請參考 Wikipedia:RESTful API

Elasticsearch 嚮導中的快速指引一節中提供了基礎和詳細的用法。

Elasticsearch 伺服器管理任務(文檔管理,執行搜索等)通常是通過客戶端來完成的,應能和你喜歡的程式語言無縫結合。

你也可以使用 ElasticHQElasticsearch GUIKibanaAdminer 等工具簡化 ElasticSearch 實例和集群的管理。

基礎安全功能

Elasticsearch 從 8.0 開始會默認啟用及配置安全功能。

Elasticsearch 提供了一系列文檔來幫助配置強制基礎安全特性。