Elasticsearch - Arch Linux 中文维基

跳转到内容

# Elasticsearch

来自 Arch Linux 中文维基
翻译状态：

- 本文（或部分内容）译自 Elasticsearch，最近一次同步于 2024-04-04，若英文版本有所更改，则您可以帮助同步与翻译更改的内容。
- 您可以在 ArchWiki 的对应页面找到本文翻译的原始修订历史。
- 本文可能与英文原文存在出入。

摘自维基百科:

  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 服务器管理任务（文档管理，执行搜索等）通常是通过客户端来完成的，应能和你喜欢的编程语言无缝结合。

你也可以使用 ElasticHQ，Elasticsearch GUI，Kibana 和 Adminer 等工具简化 ElasticSearch 实例和集群的管理。

## 基础安全功能

Elasticsearch 从 8.0 开始会默认启用及配置安全功能。

Elasticsearch 提供了一系列文档来帮助配置强制基础安全特性。

分类：​

- 数据库管理系统

Elasticsearch
添加话题