Elasticsearch Reference
  • Introduction
  • 入门
    • 基本概念
    • 安装
    • 探索集群
      • 集群健康
      • 获取所有索引库
      • 创建一个索引库
      • 索引文档创建与查询
      • 删除索引
    • 修改数据
      • 更新文档
      • 删除文档
      • 批量处理
    • 探索您的数据
      • 搜索API
      • 查询语言介绍
      • 执行搜索
      • 执行过滤
      • 执行聚合
    • 总结
  • Elasticsearch设置
    • 安装Elasticsearch
      • .zip或.tar.gz文件的安装方式
      • Debian软件包安装方式
      • RPM安装方式
      • Windows安装方式
      • Docker安装方式
    • 配置Elasticsearch
    • 重要的Elasticsearch配置
    • 安全配置
    • 启动前检查
      • 堆大小检查
      • 文件描述符检查
      • 内存锁定检查
      • 最大线程数检查
      • 最大虚拟内存检查
      • 最大map数检查
      • JVM检查
      • 串行收集使用检查
      • 系统调用过滤检查
      • OnError与OnOutOfMemroyError检查
      • G1GC检查
    • 重要的系统配置
      • 系统设置
      • 在jvm.options中设置JVM堆大小
      • 禁用swapping
      • 文件描述符
      • 虚拟内存
      • 线程数
    • Elasticsearch升级
      • 滚动升级
      • 全集群重启升级
      • 索引重建升级
    • Elasticsearch停机
  • 重大变更
    • 5.3重大变更
    • 5.2重大变更
      • 删除Shadow副本
    • 5.1重大变更
    • 5.0重大变更
      • 搜索与查询DSL变化
      • Mapping变化
      • Percolator变化
      • Suggester变化
      • Index API变化
      • Document API变化
      • Settings变化
      • Allocation变化
      • HTTP变化
      • REST API变化
      • CAT API变化
      • JAVA API变化
      • 安装包
      • 插件变化
      • 文件系统相关变化
      • 磁盘数据文件路径
      • Aggregation变化
      • 脚本相关变化
  • API约定
    • 多索引语法
    • 索引库名称的日期运算
    • 常用选项
    • URL-based访问控制
  • 文档API
    • 读写文档
    • Index API
    • Get API
    • Delete API
    • Delete By Query API
    • Update API
    • Update By Query API
    • Multi Get API
    • Bulk API
    • Reindex API
    • Term Vectors
    • Multi termvectors API
    • refresh
  • 搜索API
    • Search
    • URI Search
    • Request Body Search
      • Query
      • From / Size
      • Sort
      • Source filtering
      • Fields
      • Script Fields
      • Doc value Fields
      • Post filter
      • Highlighting
      • Rescoring
      • Search Type
      • Scroll
      • Preference
      • Explain
      • Version
      • Index Boost
      • min_score
      • Named Queries
      • Inner hits
      • Field Collapsing
      • Search After
    • Search Template
    • Multi Search Template
    • Search Shards API
    • Suggesters
      • Term suggester
      • Phrase Suggester
      • Completion Suggester
      • Context Suggester
    • Multi Search API
    • Count API
    • Validate API
    • Explain API
    • Profile API
      • Profiling Queries
      • Profiling Aggregations
      • Profiling Considerations
    • Percolator
    • Field stats API
  • 聚合
    • Metrics Aggregations
      • Avg Aggregation
      • Cardinality Aggregation
      • Extended Stats Aggregation
      • Geo Bounds Aggregation
      • Geo Centroid Aggregation
      • Max Aggregation
      • Min Aggregation
      • Percentiles Aggregation
      • Percentile Ranks Aggregation
      • Scripted Metric Aggregation
      • Stats Aggregation
      • Sum Aggregation
      • Top hits Aggregation
      • Value Count Aggregation
    • Bucket Aggregations
      • Adjacency Matrix Aggregation
      • Children Aggregation
      • Date Histogram Aggregation
      • Date Range Aggregation
      • Diversified Sampler Aggregation
      • Filter Aggregation
      • Filters Aggregation
      • Geo Distance Aggregation
      • GeoHash grid Aggregation
      • Global Aggregation
      • Histogram Aggregation
      • IP Range Aggregation
      • Missing Aggregation
      • Nested Aggregation
      • Range Aggregation
      • Reverse nested Aggregation
      • Sampler Aggregation
      • Significant Terms Aggregation
      • Terms Aggregation
    • Pipeline Aggregations
      • Avg Bucket Aggregation
      • Derivative Aggregation
      • Max Bucket Aggregation
      • Min Bucket Aggregation
      • Sum Bucket Aggregation
      • Stats Bucket Aggregation
      • Extended Stats Bucket Aggregation
      • Percentiles Bucket Aggregation
      • Moving Average Aggregation
      • Cumulative Sum Aggregation
      • Bucket Script Aggregation
      • Bucket Selector Aggregation
      • Serial Differencing Aggregation
    • Matrix Aggregations
      • Matrix Stats
    • Caching heavy aggregations
    • Returning only aggregation results
    • Aggregation Metadata
  • 索引库API
    • Create Index
    • Delete Index
    • Get Index
    • Indices Exists
    • Open / Close Index API
    • Shrink Index
    • Rollover Index
    • Put Mapping
    • Get Mapping
    • Get Field Mapping
    • Types Exists
    • Index Aliases
    • Update Indices Settings
    • Get Settings
    • Analyze
      • Explain Analyze
    • Index Templates
    • Shadow replica indices
      • Node level settings related to shadow replicas
    • Indices Stats
    • Indices Segments
    • Indices Recovery
    • Indices Shard Stores
    • Clear Cache
    • Flush
      • Synced Flush
    • Refresh
    • Force Merge
  • cat API
    • cat aliases
    • cat allocation
    • cat count
    • cat fielddata
    • cat health
    • cat indices
    • cat master
    • cat nodeattrs
    • cat nodes
    • cat pending tasks
    • cat plugins
    • cat recovery
    • cat repositories
    • cat thread pool
    • cat shards
    • cat segments
    • cat snapshots
    • cat templates
  • 集群API
    • Cluster Health
    • Cluster State
    • Cluster Stats
    • Pending cluster tasks
    • Cluster Reroute
    • Cluster Update Settings
    • Nodes Stats
    • Nodes Info
    • Task Management API
    • Nodes hot_threads
    • Cluster Allocation Explain API
  • DSL查询
    • Query and filter context
    • Match All Query
    • Full text queries
      • Match Query
      • Match Phrase Query
      • Match Phrase Prefix Query
      • Multi Match Query
      • Common Terms Query
      • Query String Query
      • Simple Query String Query
    • Term level queries
      • Term Query
      • Terms Query
      • Range Query
      • Exists Query
      • Prefix Query
      • Wildcard Query
      • Regexp Query
      • Fuzzy Query
      • Type Query
      • Ids Query
    • Compound queries
      • Constant Score Query
      • Bool Query
      • Dis Max Query
      • Function Score Query
      • Boosting Query
      • Indices Query
    • Joining queries
      • Nested Query
      • Has Child Query
      • Has Parent Query
      • Parent Id Query
    • Geo queries
      • GeoShape Query
      • Geo Bounding Box Query
      • Geo Distance Query
      • Geo Distance Range Query
      • Geo Polygon Query
    • Specialized queries
      • More Like This Query
      • Template Query
      • Script Query
      • Percolate Query
    • Span queries
      • Span Term Query
      • Span Multi Term Query
      • Span First Query
      • Span Near Query
      • Span Or Query
      • Span Not Query
      • Span Containing Query
      • Span Within Query
      • Span Field Masking Query
    • Minimum Should Match
    • Multi Term Query Rewrite
  • Mapping
    • Field datatypes
      • Array datatype
      • Binary datatype
      • Range datatypes
      • Boolean datatype
      • Date datatype
      • Geo-point datatype
      • Geo-Shape datatype
      • IP datatype
      • Keyword datatype
      • Nested datatype
      • Numeric datatypes
      • Object datatype
      • String datatype
      • Text datatype
      • Token count datatype
      • Percolator type
    • Meta-Fields
      • _all field
      • _field_names field
      • _id field
      • _index field
      • _meta field
      • _parent field
      • _routing field
      • _source field
      • _type field
      • _uid field
    • Mapping parameters
      • analyzer
      • normalizer
      • boost
      • coerce
      • copy_to
      • doc_values
      • dynamic
      • enabled
      • fielddata
      • format
      • ignore_above
      • ignore_malformed
      • include_in_all
      • index
      • index_options
      • fields
      • norms
      • null_value
      • position_increment_gap
      • properties
      • search_analyzer
      • similarity
      • store
      • term_vector
    • Dynamic Mapping
      • default mapping
      • Dynamic field mapping
      • Dynamic templates
      • Override default template
  • Analysis
    • Anatomy of an analyzer
    • Testing analyzers
    • Analyzers
      • Configuring built-in analyzers
      • Standard Analyzer
      • Simple Analyzer
      • Whitespace Analyzer
      • Stop Analyzer
      • Keyword Analyzer
      • Pattern Analyzer
      • Language Analyzers
      • Fingerprint Analyzer
      • Custom Analyzer
      • Normalizers
    • Tokenizers
      • Standard Tokenizer
      • Letter Tokenizer
      • Lowercase Tokenizer
      • Whitespace Tokenizer
      • UAX URL Email Tokenizer
      • Classic Tokenizer
      • Thai Tokenizer
      • NGram Tokenizer
      • Edge NGram Tokenizer
      • Keyword Tokenizer
      • Pattern Tokenizer
      • Path Hierarchy Tokenizer
    • Token Filters
      • Standard Token Filter
      • ASCII Folding Token Filter
      • Flatten Graph Token Filter
      • Length Token Filter
      • Lowercase Token Filter
      • Uppercase Token Filter
      • NGram Token Filter
      • Edge NGram Token Filter
      • Porter Stem Token Filter
      • Shingle Token Filter
      • Stop Token Filter
      • Word Delimiter Token Filter
      • Stemmer Token Filter
      • Stemmer Override Token Filter
      • Keyword Marker Token Filter
      • Keyword Repeat Token Filter
      • KStem Token Filter
      • Snowball Token Filter
      • Phonetic Token Filter
      • Synonym Token Filter
      • Synonym Graph Token Filter
      • Compound Word Token Filter
      • Reverse Token Filter
      • Elision Token Filter
      • Truncate Token Filter
      • Unique Token Filter
      • Pattern Capture Token Filter
      • Pattern Replace Token Filter
      • Trim Token Filter
      • Limit Token Count Token Filter
      • Hunspell Token Filter
      • Common Grams Token Filter
      • Normalization Token Filter
      • CJK Width Token Filter
      • CJK Bigram Token Filter
      • Delimited Payload Token Filter
      • Keep Words Token Filter
      • Keep Types Token Filter
      • Classic Token Filter
      • Apostrophe Token Filter
      • Decimal Digit Token Filter
      • Fingerprint Token Filter
      • Minhash Token Filter
    • Character Filters
      • HTML Strip Char Filter
      • Mapping Char Filter
      • Pattern Replace Char Filter
  • 模块
    • 集群
      • 集群的分片分配
      • 基于磁盘的分片分配
      • 了解分片分配
      • 分片分配过滤
      • 其他群集设置
    • Discovery
      • Azure Classic Discovery
      • EC2 Discovery
      • Google Compute Engine Discovery
      • Zen Discovery
    • 本地网关
    • HTTP
    • 索引库
      • 熔断
      • Fielddata
      • 节点查询缓存
      • 索引缓冲
      • 分片请求缓存
      • 索引库恢复
    • 网络设置
    • 节点
    • 插件
    • 脚本
      • 如何使用脚本
      • 文档中字段的访问以及一些特殊变量
      • 脚本与安全
      • Groovy脚本语言
      • PainLess脚本语言
      • PainLess语法
      • PainLess调试
      • Lucene表达式语言
      • 原生(java)脚本
      • 高级文本评分脚本
    • 快照与还原
    • 线程池
    • 传输
    • Tribe节点
    • 跨集群搜索
  • Index模块
    • Analysis
    • Index Shard Allocation
      • Shard Allocation Filtering
      • Delaying allocation when a node leaves
      • Index recovery prioritization
      • Total Shards Per Node
    • Mapper
    • Merge
    • Similarity module
    • Slow Log
    • Store
      • Pre-loading data into the file system cache
    • Translog
  • Ingest节点
    • Pipeline Definition
    • Ingest APIs
      • Put Pipeline API
      • Get Pipeline API
      • Delete Pipeline API
      • Simulate Pipeline API
    • Accessing Data in Pipelines
    • Handling Failures in Pipelines
    • Processors
      • Append Processor
      • Convert Processor
      • Date Processor
      • Date Index Name Processor
      • Fail Processor
      • Foreach Processor
      • Grok Processor
      • Gsub Processor
      • Join Processor
      • JSON Processor
      • KV Processor
      • Lowercase Processor
      • Remove Processor
      • Rename Processor
      • Script Processor
      • Set Processor
      • Split Processor
      • Sort Processor
      • Trim Processor
      • Uppercase Processor
      • Dot Expander Processor
  • How To
    • General recommendations
    • Recipes
    • Tune for indexing speed
    • Tune for search speed
    • Tune for disk usage
  • Testing
    • Java Testing Framework
      • why randomized testing?
      • Using the elasticsearch test classes
      • unit tests
      • integration tests
      • Randomized testing
      • Assertions
  • 术语表
  • 发布说明
    • 5.3.0 Release Notes
    • 5.2.2 Release Notes
    • 5.2.1 Release Notes
    • 5.2.0 Release Notes
    • 5.1.2 Release Notes
    • 5.1.1 Release Notes
    • 5.1.0 Release Notes
    • 5.0.2 Release Notes
    • 5.0.1 Release Notes
    • 5.0.0 Combined Release Notes
    • 5.0.0 GA Release Notes
    • 5.0.0-rc1 Release Notes
    • 5.0.0-beta1 Release Notes
    • 5.0.0-alpha5 Release Notes
    • 5.0.0-alpha4 Release Notes
    • 5.0.0-alpha3 Release Notes
    • 5.0.0-alpha2 Release Notes
    • 5.0.0-alpha1 Release Notes
    • 5.0.0-alpha1 Release Notes (Changes previously released in 2.x)
  • Painless API参考文档
Powered by GitBook
On this page
  • 导入Elasticsearch PGP Key
  • 从APT库中安装
  • 手动下载并安装Debian软件包
  • SysV init vs systemd
  • 通过SysV init启动Elasticsearch
  • 通过systemd启动Elasticsearch
  • 检查Elasticsearch运行
  • 配置Elasticsearch
  • Debian目录结构
  • 下一步

Was this helpful?

  1. Elasticsearch设置
  2. 安装Elasticsearch

Debian软件包安装方式

Previous.zip或.tar.gz文件的安装方式NextRPM安装方式

Last updated 4 years ago

Was this helpful?

Elasticsearch的Debian软件包可以从或从安装。它可以用于任何基于Debian的系统上安装Elasticsearch,如Debian和Ubuntu。

Elasticsearch的最新稳定版本可以在页面获取。其它版本可以在上找到。

注意

Elasticsearch需要Java 8或更高版本。可以使用或开源版本的。

导入Elasticsearch PGP Key

Elasticsearch的所有包都采用如下指纹与签名Key进行签名(PGP key ,可从):

4609 5ACC 8548 582C 1A26 99A9 D27D 666C D88E 42B4

下载并安装该公用签名密钥:

wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -

从APT库中安装

在操作之前您可能需要在Debian系统中安装apt-transport-https软件包:

sudo apt-get install apt-transport-https

库定义保存到/etc/apt/sources.list.d/elastic-5.x.list:

echo "deb https://artifacts.elastic.co/packages/5.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-5.x.list

注意

有以下几个原因不使用add-apt-repository: 1. add-apt-repository添加到系统/etc/apt/sources.list文件,而不是在/etc/apt/sources.list.d中清空之前的仓库文件 1. add-apt-repository需要按照一些非默认的依赖以及在许多发行版本中他不是默认安装的。 1. 老版本的add-apt-repository总是添加deb-src将导致错误,因为我们不提供源码包。如果你添加了deb-src,你将会看到一个如下的错误直到你删除了deb-src:

Unable to find expected entry 'main/source/Sources' in Release file
(Wrong sources.list entry or malformed file)

您可以通过如下方式安装Elasticsearch Debian软件包:

sudo apt-get update && sudo apt-get install elasticsearch

警告

如果同一Elasticsearch版本库中两个条目,在使用apt-get update是你会看到在这样的错误:

Duplicate sources.list entry https://artifacts.elastic.co/packages/5.x/apt/ ...

在/etc/apt/sources.list.d和/和/etc/apt/sources.list文件中检查下重复的/etc/apt/sources.list.d/elasticsearch-5.x.list条目。

注意

在systemd-based的发行中,安装脚本会尝试设置内核参数(例如:vm.max_map_count);你可以通过设置环境变量ES_SKIP_SET_KERNEL_PARAMETERS=true跳过此设置。

手动下载并安装Debian软件包

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.3.0.deb
sha1sum elasticsearch-5.3.0.deb #①
sudo dpkg -i elasticsearch-5.3.0.deb

SysV init vs systemd

Elasticsearch不是在安装后自动启动。如何启动和停止Elasticsearch取决于你的系统是否使用的SysV init或system(较新发行版中使用)。你可以说这是一个用来运行以下命令:

ps -p 1

通过SysV init启动Elasticsearch

使用update-rc.d命令来配置Elasticsearch在系统启动时自动启动:

sudo update-rc.d elasticsearch defaults 95 10

Elasticsearch可以通过service命令来启动与停止:

sudo -i service elasticsearch start
sudo -i service elasticsearch stop

任何原因的Elasticsearch启动失败,都会将原因打印到控制套。日志文件可以在/var/log/elasticsearch/中找到。

通过systemd启动Elasticsearch

要配置Elasticsearch在系统启动时自动启动,运行以下命令:

sudo /bin/systemctl daemon-reload
sudo /bin/systemctl enable elasticsearch.service

Elasticsearch可以通过service命令来启动与停止:

sudo systemctl start elasticsearch.service
sudo systemctl stop elasticsearch.service

无论Elasticsearch是否成功没有启动, 这些命令不提供反馈。相反,该信息将被写入位于/var/log/elasticsearch/的日志文件中。

默认情况下,Elasticsearch服务的信息不记录在信息systemd 的journal日志中。若要启用journalctl日志记录,在elasticsearch.service文件的ExecStart命令行中必须删除--quiet选项。

当systemd启用了日志记录,日志信息的使用可用journalctl命令:

tail查看journal:

sudo journalctl -f

要列出journal中elasticsearch服务的日志条目:

sudo journalctl --unit elasticsearch

要列出指定时间之后的列出journal中elasticsearch服务的日志条目:

sudo journalctl --unit elasticsearch --since  "2016-10-30 18:17:16"

检查Elasticsearch运行

您可以在已运行的Elasticsearch节点上,发送一个HTTP请求测试localhost的9200端口:

GET /

返回的消息应该是这样的:

{
  "name" : "Cp8oag6",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "AT69_T_DTp-1qgIJlatQqA",
  "version" : {
    "number" : "5.3.0",
    "build_hash" : "f27399d",
    "build_date" : "2016-03-30T09:51:41.449Z",
    "build_snapshot" : false,
    "lucene_version" : "6.4.1"
  },
  "tagline" : "You Know, for Search"
}

配置Elasticsearch

Debian软件包也有一个系统配置文件(/etc/default/elasticsearch),它允许你设置以下参数:

参数名

描述

ES_USER

运行的用户,默认为elasticsearch。

ES_GROUP

运行的Group,默认为elasticsearch。

JAVA_HOME

自定义java路径。

MAX_OPEN_FILES

最大的打开文件数,默认最大数量65536。

MAX_LOCKED_MEMORY

最大锁定内存大小。你使用bootstrap.memory_lock的elasticsearch.yml选项将被设置为unlimited。

MAX_MAP_COUNT

LOG_DIR

日志目录,默认为/var/log/elasticsearch。

DATA_DIR

Data目录,默认为/var/lib/elasticsearch。

CONF_DIR

配置文件目录(其中必须包括elasticsearch.yml和log4j2.properties文件),默认为/etc/elasticsearch。

ES_JAVA_OPTS

任何额外的JVM系统属性,你可能要应用。

RESTART_ON_UPGRADE

配置在安装包升级后重启,默认为false。这意味着你将在安装包后需要手动重新启动您的elasticsearch实例。这样做的原因是为了保证,在群集升级时不会连续的重新分配分片导致高网络流量、并降低群集的响应时间。

注意

Debian目录结构

Debian包中配置文件、日志和数据目录在Debian-based系统中对应的位置:

类型

描述

默认位置

设置方式

home

Elasticsearch主目录或 $ES_HOME

/usr/share/elasticsearch

bin

二进制脚本,包括启动节点的elasticsearch、安装插件的elasticsearch-plugin

/usr/share/elasticsearch/bin

conf

配置文件,包括elasticsearch.yml

/etc/elasticsearch

path.conf

conf

环境变量,包括heap大小、文件操作符

/etc/default/elasticsearch

data

节点上分配的各索引/分片的数据文件的目录,可以配置多个位置。

/var/lib/elasticsearch

path.data

log

日志文件的位置。

/var/log/elasticsearch

path.logs

plugins

插件的位置。每一个插件将被包含在一个子目录。

/usr/share/elasticsearch/plugins

repo

共享文件系统存储库位置。可以容纳多个位置。文件系统存储库可以放在这里指定的任意目录中的任何子目录。

未配置

path.repo

script

脚本文件位置。

/etc/elasticsearch/scripts

path.scripts

下一步

现在,您搭建了一个测试环境Elasticsearch。开始更深入的研究或投入生产使用Elasticsearch之前,你需要做一些额外的配置:

① 通过sha1sum或shasum比较官方发布的

更多的journalctl操作手册,请参考:。

Elasticsearch默认从/etc/elasticsearch/elasticsearch.yml文件中加载配置。这个配置文件的格式说明请参考。

进程的内存映射区域最大数量。如果你使用mmapfs的索引存储类型,确保此项设置为高值。欲了解更多信息,请查看查看相关的max_map_count。这是在启动elasticsearch之前通过sysctl设置的,默认为262144。

使用systemd部署需要配置systemd的系统资源限制,而不是通过/etc/sysconfig/elasticsearch文件。更多信息请参见:。

了解如何。

配置。

配置。

SHA公钥
https://www.freedesktop.org/software/systemd/man/journalctl.html
Elasticsearch配置
配置Elasticsearch
重要的Elasticsearch设置
重要的系统设置
Elasticsearch下载
之前的下载页面
Oracle官方发布
OpenJDK
D88E42B4
https://pgp.mit.edu
我们的网站下载
我们的APT仓库
Linux内核文件
系统设置