Elasticsearch
- 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 可能会因内存过度使用而被终止:“此单元的进程已被 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
用法
Elasticsearch 使用 REST API,有关更多信息,请参阅 维基百科:RESTful API。
Elasticsearch 指南的快速入门部分应为您提供基本和详细的用法信息。
Elasticsearch 服务器管理(文档维护、执行搜索等)通常由 客户端 完成,客户端应提供与首选编程语言的无缝集成。
用于管理 ElasticSearch 实例和集群的有用工具,如 ElasticHQ、Elasticsearch GUI、Kibana 和 Adminer 也可用于简化管理。
基本安全
安全性在 Elasticsearch 8.0 及更高版本中默认启用和配置。Elasticsearch 提供了文档来设置强制性的基本安全功能。