# Geo-point datatype
原文链接 : [https://www.elastic.co/guide/en/elasticsearch/reference/5.4/geo-point.html](https://www.elastic.co/guide/en/elasticsearch/reference/5.4/geo-point.html)
译文链接 : [http://www.apache.wiki/display/Elasticsearch](http://www.apache.wiki/display/Elasticsearch)
贡献者 : [王贤才](/display/~wangxiancai),[ApacheCN](/display/~apachecn),[Apache中文网](/display/~apachechina)
geo-points类型字段使用横纵坐标经伟度,使用方法
1.在边界框内或多边形内,找中心点和离中心点的一定距离的点。
2.从地理位置或从中心点的距离组成搜索文本
3.根据位置距离给搜索文本评分
4.根据得分进行搜索文本排序
有四种方法可以指定地理点,如下所示
PUT my_index
{
"mappings": {
"my_type": {
"properties": {
"location": {
"type": "geo_point"
}
}
}
}
}
PUT my_index/my_type/1
{
"text": "Geo-point as an object",
"location": {
"lat": 41.12,
"lon": -71.34
}
}
PUT my_index/my_type/2
{
"text": "Geo-point as a string",
"location": "41.12,-71.34"
}
PUT my_index/my_type/3
{
"text": "Geo-point as a geohash",
"location": "drm3btev3e86"
}
PUT my_index/my_type/4
{
"text": "Geo-point as an array",
"location": [ -71.34, 41.12 ]
}
GET my_index/_search
{
"query": {
"geo_bounding_box": {
"location": {
"top_left": {
"lat": 42,
"lon": -72
},
"bottom_right": {
"lat": 40,
"lon": -74
}
}
}
}
}
| | Geo-point 可以用对象表示描述:有横坐标和纵坐标两点. |
| | Geo-point 可以带有“,”间隔符的字符串表示描述. |
| | Geo-point 可以用geohash哈希来表示描述. |
| | Geo-point 可以用这样的数组格式: [ lon, lat]来表示描 |
| | 可以用查询边界框里面的点来表示描述. |
注意:表示为数组或字符串的地理点
请注意用string类型描述geo-points格式,和数组类型描述geo-points格式
正好,模纵坐标可以放string类型或数组类型,但是数组是可以转换成JOSN格式
Geo_point 字段参数
下面是Geo_point 字段参数
[`ignore_malformed`](https://www.elastic.co/guide/en/elasticsearch/reference/current/ignore-malformed.html "ignore_malformed") 参数:如果true,异常Geo_point数据被忽略,false,将会抛出异常,不接受执行整个搜索文本(默认为false)
使用geo-points脚本
使用脚本查询一个地理点的数据时,该值作为一个GeoPoint对象返回,它允许访问。LAT和LON。值分别为:
```
def geopoint = doc['location'].value;
```
```
def lat = geopoint.lat;
```
```
def lon = geopoint.lon;
```
对于性能的原因,请直接访问搜索文本的经度值:
```
def lat = doc['location'].lat;
```
```
def lon = doc['location'].lon;
```
[https://www.elastic.co/guide/en/elasticsearch/reference/current/geo-shape.html](https://www.elastic.co/guide/en/elasticsearch/reference/current/geo-shape.html)
Geo-Shape datatype
Geo_shape数据类型有利于有助于索引和搜索任意地理形状,如:矩形和多边形。我们这样使用它:数据索引或执行点状数据查询
你能使用geo_shape 查询引擎,查询搜索文本。
Mapping Options
Geo_shape mapping 绘制geo_shape 类型的 geo_json 几何对象
| **Option** | **Description** | **Default** |
| tree | 使用PrefixTree :geohash类型的GeohashPrefixTree 或`quadtree` 类型的QuadPrefixTree | geohash |
| precision | 这个参数可以用来代替tree_levels设置为适当的值tree_levels参数。该值指定所需的精度,Elasticsearch将计算出最佳有价值的精度tree_levels。值应该是一个数字,然后是可选的距离单位。有效距离的单位包括:英寸,寸码,米,公里,米,厘米,毫米 | meters |
| tree_levels | 这一点被prefixTree应用最多。这可以用来控制形状表示的精度,因些需要索引很多个词,选择prefixtree默认值,由于此参数要求对底层实现有一定程度的理解,因此用户可以使用精度参数。然而,Elasticsearch只用tree_levels参数,这是通过映射的API,即使你使用精度的参数返回。 | 50m |
| strategy | 策略参数定义了如何在索引和搜索时间中表示形状的方法。它也影响的能力提供建议让Elasticsearch自动设置这个参数。有两种策略可供选择:递归和术语。长期的战略支撑点类型(的points_only参数将被自动设置为true),递归策略支持所有的形状类型。(重要:参见前缀树获取更详细的信息) | recursive |
| distance_error_pct | 作为一个暗示,PrefixTree如何精确的应。默认值为0.025(2.5%),最大支持值为0.5。性能备注:这个值将默认为0如果精度或tree_level定义明确定义。这保证映射中定义的级别的空间精度。这会导致高分辨率的内存使用率低(例如,100米的大图形和0.001错误)。提高索引性能(在查询精度成本)明确随着合理的distance_error_pct tree_level或精度,指出大的形状将有更大的误报。 | 0.025 |
| orientation | 可以定义如何解释/ multipolygons多边形顶点顺序。这个参数定义了两个坐标系统规则(右手或左手)中的一个,每个规则可以用三种不同的方式指定。1。右手定则:右,逆时针逆时针,2。左手定则:左,顺时针,顺时针。默认方向(逆时针)符合定义的顶点按逆时针顺序与外环内环OGC标准(S)的顶点(孔)按顺时针方向的。在geo_shape映射这个参数设置显式设置为一个geo_shape场坐标列表顶点顺序但可在每个GeoJSON文件重写。 | ccw |
| points_only | 设置此选项为true(默认为false)配置点的geo_shape字段类型形状(注:多点尚未支持)。这优化为Geohash和四叉树索引和搜索性能的时候它是已知的唯一的点会被索引。目前geo_shape查询无法执行的geo_point字段类型。这个选项,架起了一座桥梁,通过提高在geo_shape场点的表现让geo_shape查询优化一点场。 | false |
**Prefix trees**
有效的指数代表的形状,形状转换成一系列的哈希值代表方格(通常被称为“栅格”)使用一个prefixtree实现。树的概念来自这样一个事实:prefixtree采用多重网格层,每一个增加的精度水平代表地图。这可以看作是在更高的缩放级别上增加地图或图像的细节级别。
提供了多个prefixtree实现
1. geohashprefixtree使用geohashes方格。geohashes是Base32编码字符串的纬度和经度的比特交织。所以哈希越长,它就越精确。每个字符添加到Geohash代表另一个树的水平和增加了5位精度的Geohash。一个Geohash表示一个矩形的面积,32个矩形。在Elasticsearch级别的最大量为24。
2. quadprefixtree -使用一个四叉树的方格。类似Geohash,四叉树交错的经度和纬度产生的哈希位有点集。四叉树中的树级别代表这个位集中的2位,每个坐标的一位。在Elasticsearch的四叉树级别的最大量为50。
##### Spatial strategies
prefixtree的实现依赖于一种分解提供的形状spatialstrategy(S)为近似方格。每种策略都回答以下问题:
1. 什么类型的形状可以被索引?
2. 可以使用什么类型的查询操作或形状?
3. 它支持每个字段超过一个形状吗?
提供了以下策略实现(具有相应的功能):
| **Strategy** | **Supported Shapes** | **Supported Queries** | **Multiple Shapes** |
| `recursive` | [All](https://www.elastic.co/guide/en/elasticsearch/reference/current/geo-shape.html#input-structure "Input Structureedit") | `INTERSECTS`, `DISJOINT`, `WITHIN`, `CONTAINS` | Yes |
| `term` | [Points](https://www.elastic.co/guide/en/elasticsearch/reference/current/geo-shape.html#point "Pointedit") | `INTERSECTS` | Yes |
##### Accuracy
geo_shape不提供100%的准确度,取决于它是如何配置它可能会返回一些假阳性或假阴性的某些查询。为了解决这个问题,这是选择的tree_levels参数调整的预期因此适当的重要价值。例如,一个点可以在一个特定的网格单元的边界,因此可能不匹配的查询匹配的细胞在它旁边 - 虽然外形非常接近的点。
例子
PUT /example
{
"mappings": {
"doc": {
"properties": {
"location": {
"type": "geo_shape",
"tree": "quadtree",
"precision": "1m"
}
}
}
}
}
这个映射图位置字段中使用quad_tree实现和精度1m geo_shape型。Elasticsearch转化为tree_levels设置26。
##### Performance considerations
Elasticsearch使用路径的前缀树的索引和查询。级别越高(因而精度越高)生成的代码越多。当然,计算这些代码,将它们保存在内存中,并将它们存储在磁盘上都是有代价的。尤其是树级别较高的情况下,即使只有少量的数据,索引也可能变得非常大。此外,功能的大小也很重要。大而复杂的多边形可以在较高的树级别占用大量空间。哪个设置正确取决于用例。一般情况下,索引精度和查询性能都会降低准确性。
为实现在Elasticsearch默认索引的大小和在赤道精密50M的合理水平之间的一种折衷。这使得索引数以千万计的形状,而不会过度膨胀的结果指数太大,相对于输入大小。
#### Input Structure
GeoJSON格式的是用来表示形状输入如下:
| **GeoJSON Type** | **Elasticsearch Type** | **Description** |
| Point | point | 单一地理坐标 |
| LineString | linestring | 给定两个或多个点的任意线。 |
| Polygon | polygon | 一个封闭的多边形的第一个和最后一个点必须匹配,因此需要n + 1个顶点创建一个N边多边形和至少4个顶点。 |
| MultiPoint | multipoint | An array of unconnected, but likely related points. |
| MultiLineString | multilinestring | An array of separate linestrings. |
| MultiPolygon | multipolygon | 一组单独的多边形。 |
| GeometryCollection | geometrycollection | A GeoJSON shape similar to the multi* shapes except that multiple types can coexist (e.g., a Point and a LineString). |
| N/A | envelope | A bounding rectangle, or envelope, specified by specifying only the top left and bottom right points. |
| N/A | circle | A circle specified by a center point and radius with units, which default to METERS. |
对于所有类型,都需要内部类型和坐标字段。
在GeoJSON,因此Elasticsearch,正确的坐标为经度、纬度(x,y)的坐标数组。这不同于许多地理空间API(例如,谷歌地图),它们通常使用纬度、经度(y、x)。
##### [Point](http://geojson.org/geojson-spec.html#id2)
一个点是一个单一的地理坐标位置,如建筑物或当前位置通过智能手机的地理定位API了。
POST /example/doc
{
"location" : {
"type" : "point",
"coordinates" : [-77.03653, 38.897676]
}
}
##### [LineString](http://geojson.org/geojson-spec.html#id3)
由两个或两个以上的位置数组定义的线。通过指定两点的线表示一条直线。指定多于两个点会创建任意路径。
POST /example/doc
{
"location" : {
"type" : "linestring",
"coordinates" : [[-77.03653, 38.897676], [-77.009051, 38.889939]]
}
}
上面的线就画一直线,从白宫到美国的首都大厦。
##### [Polygon](http://www.geojson.org/geojson-spec.html#id4)
多边形是由一个点的列表定义的。每个(外部)列表中的第一个和最后一个点必须是相同的(多边形必须是闭合的)。
POST /example/doc
{
"location" : {
"type" : "polygon",
"coordinates" : [
[ [100.0, 0.0], [101.0, 0.0], [101.0, 1.0], [100.0, 1.0], [100.0, 0.0] ]
]
}
}
第一个数组代表多边形的外边界,其他数组表示内部形状(”holes”)
POST /example/doc
{
"location" : {
"type" : "polygon",
"coordinates" : [
[ [100.0, 0.0], [101.0, 0.0], [101.0, 1.0], [100.0, 1.0], [100.0, 0.0] ],
[ [100.2, 0.2], [100.8, 0.2], [100.8, 0.8], [100.2, 0.8], [100.2, 0.2] ]
]
}
}
重要注意事项:
GeoJSON并不要求如此明确的多边形顶点在日界线内,顶点的特定顺序是可能的。为了减轻模糊开放地理空间联盟(OGC)的简单功能接入规范定义了下面的顶点顺序
1. 外圈-逆时针方向
2. 内圈-顺时针方向
多边形不越过日界线,顶点顺序将不在Elasticsearch。多边形做过日界线,Elasticsearch需要顶点顺序符合OGC规范。否则,可能会创建一个意外的多边形,并返回意外的查询/过滤结果。
下面提供了一个不明确多边形的示例。Elasticsearch将OGC标准消除产生一个多边形,越过日界线歧义。
POST /example/doc
{
"location" : {
"type" : "polygon",
"coordinates" : [
[ [-177.0, 10.0], [176.0, 15.0], [172.0, 0.0], [176.0, -15.0], [-177.0, -10.0], [-177.0, 10.0] ],
[ [178.2, 8.2], [-178.8, 8.2], [-180.8, -8.8], [178.2, 8.8] ]
]
}
}
一个定位参数可以定义设置geo_shape映射时(参见“映射optionsedit”)。这将定义的映射geo_shape场坐标列表顶点顺序。它也可以覆盖在每个文档上。下面是覆盖文档方向的示例:
POST /example/doc
{
"location" : {
"type" : "polygon",
"orientation" : "clockwise",
"coordinates" : [
[ [-177.0, 10.0], [176.0, 15.0], [172.0, 0.0], [176.0, -15.0], [-177.0, -10.0], [-177.0, 10.0] ],
[ [178.2, 8.2], [-178.8, 8.2], [-180.8, -8.8], [178.2, 8.8] ]
]
}
}
##### [MultiPoint](http://www.geojson.org/geojson-spec.html#id5)
GeoJSON点列表。
POST /example/doc
{
"location" : {
"type" : "multipoint",
"coordinates" : [
[102.0, 2.0], [103.0, 2.0]
]
}
}
##### [MultiLineString](http://www.geojson.org/geojson-spec.html#id6)
GeoJSON线要素列表
POST /example/doc
{
"location" : {
"type" : "multilinestring",
"coordinates" : [
[ [102.0, 2.0], [103.0, 2.0], [103.0, 3.0], [102.0, 3.0] ],
[ [100.0, 0.0], [101.0, 0.0], [101.0, 1.0], [100.0, 1.0] ],
[ [100.2, 0.2], [100.8, 0.2], [100.8, 0.8], [100.2, 0.8] ]
]
}
}
##### [MultiPolygon](http://www.geojson.org/geojson-spec.html#id7)
GeoJSON多边形列表。
POST /example/doc
{
"location" : {
"type" : "multipolygon",
"coordinates" : [
[ [[102.0, 2.0], [103.0, 2.0], [103.0, 3.0], [102.0, 3.0], [102.0, 2.0]] ],
[ [[100.0, 0.0], [101.0, 0.0], [101.0, 1.0], [100.0, 1.0], [100.0, 0.0]],
[[100.2, 0.2], [100.8, 0.2], [100.8, 0.8], [100.2, 0.8], [100.2, 0.2]] ]
]
}
}
##### [Geometry Collection](http://geojson.org/geojson-spec.html#geometrycollection)
GeoJSON几何对象的集合。
POST /example/doc
{
"location" : {
"type": "geometrycollection",
"geometries": [
{
"type": "point",
"coordinates": [100.0, 0.0]
},
{
"type": "linestring",
"coordinates": [ [101.0, 0.0], [102.0, 1.0] ]
}
]
}
}
##### Envelope
Elasticsearch支持一个信封式的,包括对形状代表一个矩形的左上角和右下角点的坐标:
POST /example/doc
{
"location" : {
"type" : "envelope",
"coordinates" : [ [-45.0, 45.0], [45.0, -45.0] ]
}
}
##### Circle
Elasticsearch支持圆式,它由一个中心点和半径:
POST /example/doc
{
"location" : {
"type" : "circle",
"coordinates" : [-45.0, 45.0],
"radius" : "100m"
}
}
注:内半径场是必需的。如果未指定,则半径的单位将默认为米。
#### Sorting and Retrieving index Shapes
由于复杂的输入结构和形状的索引表示,目前不可能对形状进行分类或直接检索它们的字段。geo_shape值仅为检索通过`_source` field.
- Getting Started(入门指南)
- Basic Concepts(基础概念)
- Installation(安装)
- Exploring Your Cluster(探索集群)
- Cluster Health(集群健康)
- List All Indices(列出所有索引)
- Create an Index(创建索引)
- Index and Query a Document(索引和查询文档)
- Delete an Index(删除索引)
- Modifying Your Data(修改数据)
- Updating Documents(更新文档)
- Deleting Documents(删除文档)
- Batch Processing(批处理)
- Exploring Your Data(探索数据)
- The Search API(搜索 API)
- Introducing the Query Language(介绍查询语言)
- Executing Searches(执行查询)
- Executing Filters(执行过滤)
- Executing Aggregations(执行聚合)
- Conclusion(总结)
- Setup Elasticsearch(设置)
- Installing Elasticsearch(安装)
- zip 或 tar.gz 安装
- Debian软件包安装Elasticsearch
- 用RPM安装Elasticsearch
- Windows 环境下安装ES
- Docker 方式安装
- 配置Elasticsearch
- 重要Elasticsearch配置
- 安全配置
- 启动前检查
- 堆大小检查
- 文件描述符检查
- 内存锁定检查
- 最大线程数检查
- 最大虚拟内存检查
- 最大map数检查
- JVM Client模式检查
- 串行收集使用检查
- 系统调用过滤检查
- OnError与OnOutOfMemoryError检查
- G1GC检查
- 重要的系统配置
- 系统设置
- 在jvm.options中设置JVM堆大小
- 禁用swapping
- 文件描述符
- 虚拟内存
- 线程数
- 升级Elasticsearch
- Elasticsearch停机
- 重大改变
- 在5.3 重大改变
- 在5.2 重大改变
- Shadow Replicas已被弃用
- 在5.1 重大改变
- 在5.0 重大改变
- 搜索和查询DSL改变
- 映射改变
- 过滤器改变
- Suggester变化
- 索引API改变
- 文档API改变
- 设置的改变
- 分配改变
- HTTP改变
- REST API改变
- CAT API改变
- Java API改变
- Packaging
- Plugin改变
- 文件系统相关改变
- 磁盘上数据的路径
- 聚合改变
- 脚本相关改变
- API 规范
- Multiple Indices(多个索引)
- Date math support in index names(索引名称对 Date 和 Math 的支持)
- 常见选项
- URL-based access control(基于 URL 的访问控制)
- Document APIS
- Index API
- Get API
- Update API
- 通过查询 API 更新
- 多个 GET API
- Bulk API
- Reading and Writing documents(读写文档)
- Delete API
- Delete By Query API
- Reindex API
- Term Vectors
- Multi termvectors API
- ?refresh
- Search APIs
- 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
- Search After
- Field Collapsing 字段折叠
- Search 模板
- Multi Search 模板
- Search Shards API
- Suggesters
- Completion Suggester
- Context Suggester
- Phrase Suggester
- Term suggester
- Multi Search API
- Count API
- Validate API
- Explain API
- Profile API
- Profiling Queries
- Profiling Aggregations
- Profiling Considerations
- Aggregations
- Metric Aggregations
- 值计数聚合(Value Count Aggregation)
- 地理边界聚合
- 地理重心聚合
- 基数聚合
- 平均值聚合
- 扩展统计聚合
- 最大值聚合
- 最小值聚合
- Bucket Aggregations
- Children Aggregation
- Date Histogram Aggregation
- Date Range Aggregation
- Diversified Sampler Aggregation
- Filter Aggregation(过滤器聚合)
- Filters Aggregation
- Geo Distance Aggregation(地理距离聚合)
- GeoHash grid Aggregation(GeoHash网格聚合)
- Global Aggregation(全局聚合)
- Histogram Aggregation
- IP Range Aggregation(IP范围聚合)
- Missing Aggregation
- Nested Aggregation(嵌套聚合)
- Range Aggregation(范围聚合)
- Reverse nested Aggregation
- Sampler Aggregation
- Significant 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(百分数桶聚合)
- Cumulative Sum Aggregation(累积汇总聚合)
- Bucket Script Aggregation(桶脚本聚合)
- Bucket Selector Aggregation(桶选择器聚合)
- Serial Differencing Aggregation(串行差异聚合)
- Matrix Aggregations
- Matrix Stats
- Matrix Stats(矩阵统计)
- Caching heavy aggregations(缓存频繁聚合)
- Returning only aggregation results(仅返回需要聚合的结果)
- Aggregation Metadata(聚合元数据)
- Returning the type of the aggregation(返回聚合的类型)
- 索引 API
- Create Index /创建索引
- Delete Index /删除索引
- Get Index /获取索引
- Indices Exists /索引存在
- Open / Close Index API /启动关闭索引
- Shrink Index /缩小索引
- Rollover Index/滚动索引
- Put Mapping /提交映射
- Get Mapping /获取映射
- Get Field Mapping /获取字段映射
- 卷影副本索引
- 依赖卷影副本的节点级设置
- 索引统计信息
- 索引段
- 索引恢复
- 索引分片存储
- 清理缓存
- 刷新
- 同步刷新
- 重新加载
- 强制合并
- cat APIs
- 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
- 集群 API
- Cluster Allocation Explain API
- Cluster Health
- Cluster Reroute
- Cluster State
- Cluster Stats
- Cluster Update Settings
- Nodes hot_threads
- Nodes Info
- Nodes Stats
- Pending cluster tasks
- Task Management API
- 查询 DSL
- 查询和过滤上下文
- Match ALL 查询
- 全文搜索
- 匹配查询
- 短语匹配查询
- 短语前缀匹配查询
- 多字段查询
- 常用术语查询
- 查询语句查询
- 简单查询语句
- 复合查询家族
- Constant Score 查询
- Bool 查询
- Dis Max 查询
- Function Score 查询
- Boosting 查询
- Indices 查询
- Join 查询
- Has Child Query
- Has Parent Query
- Nested Query(嵌套查询)
- Parent Id Query
- 术语查询
- Exists Query(非空值查询)
- Fuzzy Query(模糊查询)
- Ids Query(ID 查询)
- Prefix Query(前缀查询)
- Range Query(范围查询)
- Regexp Query(正则表达式查询)
- Term Query(项查询)
- Terms Query(多项查询)
- Type Query(类型查询)
- Wildcard Query(通配符查询)
- 地理位置查询
- GeoShape Query(地理形状查询)
- Geo Bounding Box Query(地理边框查询)
- Geo Distance Query(地理距离查询)
- Geo Distance Range Query(地理距离范围查询)
- Geo Polygon Query(地理多边形查询)
- Span 查询
- Span Term 查询
- Span Multi Term 查询
- Span First 查询
- Span Near 查询
- Span Or 查询
- Span Not 查询
- Span Containing 查询
- Span Within 查询
- Span Field Masking 查询
- Specialized queries(专业查询)
- Mapping(映射)
- 字段类型
- Array
- Binary
- Range
- Boolean
- Date
- Geo-point datatype
- String
- Text
- Token数
- 渗滤型
- KeyWord
- Nested
- Object
- Numeric
- 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(_all 查询包含字段)
- index_options(索引设置)
- index (索引)
- fields(字段)
- Norms (标准信息)
- null_value(空值)
- position_increment_gap(短语位置间隙)
- properties (属性)
- search_analyzer (搜索分析器)
- similarity (匹配方法)
- store(存储)
- Term_vectors(词根信息)
- Dynamic Mapping(动态映射)
- default mapping(mapping中的_default_)
- Dynamic field mapping(动态字段映射)
- Dynamic templates(动态模板)
- Override default template(覆盖默认模板)
- Mapping(映射)
- Analysis
- Tokenizers(分词器)
- Standard Tokenizer(标准分词器)
- Letter Tokenizer
- Lowercase Tokenizer (小写分词器)
- Whitespace Analyzer
- 停止分析器
- UAX URL Email Tokenizer
- Classic Tokenizer
- Thai Tokenizer(泰语分词器)
- NGram Tokenizer
- Keyword Analyzer
- Path Hierarchy Tokenizer(路径层次分词器)
- Pattern Tokenizer
- Token Filters(词元过滤器)
- Apostrophe Token Filter(撇号/单引号过滤器)
- ASCII Folding Token Filter(ASCII Folding 词元过滤器)
- CJK Bigram Token Filter(CJK Bigram词元过滤器)
- CJK Width Token Filter(CJK宽度过滤器)
- Classic Token Filter(经典过滤器)
- Common Grams Token Filter(近义词词元过滤器)
- Compound Word Token Filter(复合词过滤器)
- Decimal Digit Token Filter(十进制数字过滤器)
- Delimited Payload Token Filter(Delimited Payload词元分析器)
- Edge NGram Token Filter(Edge NGram 词元过滤器)
- Elision Token Filter(Elision词元过滤器)
- Fingerprint Token Filter(指纹过滤器)
- Flatten Graph Token Filter(Flatten Graph 词元过滤器)
- Hunspell Token Filter(Hunspell 词元过滤器)
- Keep Types Token Filter(保留指定类型过滤器)
- Keep Words Token Filter(保留字过滤器)
- Keyword Marker Token Filter(Keyword Marker 词元过滤器)
- Keyword Repeat Token Filter(Keyword Repeat 词元过滤器)
- KStem Token Filter(KStem 词元过滤器)
- Length Token Filter(长度词元过滤器)
- Limit Token Count Token Filter(限制词元数量过滤器)
- Lowercase Token Filter(Lowercase 词元过滤器)
- Minhash Token Filter(Minhash过滤器)
- NGram Token Filter(NGram词元过滤器)
- Normalization Token Filter(标准化词元过滤器)
- Pattern Capture Token Filter(模式匹配词元过滤器)
- Pattern Replace Token Filter(模式替换词元过滤器)
- Phonetic Token Filter(Phonetic 词元过滤器)
- Porter Stem Token Filter(Porter Stem 词元过滤器)
- Reverse Token Filteredit(反向词元过滤器)
- Shingle Token Filter(Shingle 词元过滤器)
- Snowball Token Filter(Snowball 词元过滤器)
- Standard Token Filters(标准词元过滤器)
- Stemmer Override Token Filter(Stemmer Override 词元过滤器)
- Stemmer Token Filter(Stemmer 词元过滤器)
- Stop Token Filter(Stop 词元过滤器)
- Synonym Graph Token Filter(Synonym Graph 词元过滤器)
- Synonym Token Filter(Synonym 词元过滤器)
- Trim Token Filter(Trim词元过滤器)
- Truncate Token Filter(截断词元过滤器)
- Unique Token Filter(唯一词元过滤器)
- Uppercase Token Filter(Uppercase词元过滤器)
- Word Delimiter Token Filter(Word Delimiter 词元过滤器)
- Character Filters(字符过滤器)
- md Strip Character Filter
- Mapping Character Filter
- Pattern Replace Character Filter
- Anatomy of an analyzer(分析器的分析)
- Testing analyzers(测试分析器)
- Analyzers(分析器)
- Configuring built-in analyzers(配置内置分析器)
- Standard Analyzer(标准分析器)
- Simple Analyzer(简单分析器)
- 空白分析器
- Stop Analyzer
- 指纹分析器
- 模式分析器
- 自定义分析器
- 语言分析器
- 模块
- Indices(索引)
- Circuit breakers(熔断器)
- Fielddata cache(列数据缓存)
- indexing buffer(索引写入缓冲)
- indices Recovery(索引恢复)
- NetWork Setting(网络配置)
- Node Query Cache(节点查询缓存)
- Shard request cache(分片请求缓存)
- 脚本
- Groovy 脚本语言
- Painless 脚本语言
- Painless 语法
- Painless 调试
- Lucene表达式语言
- 原生(Java)脚本
- 高级文本评分脚本
- 快照和还原
- 线程池
- 传输
- HTTP
- Tribe Node (部落节点)
- 跨集群搜索
- Cluster(集群)
- Disk-based Shard Allocation ( 基于磁盘的分片分配 )
- Shard Allocation Awareness ( 分片分配意识 )
- 群集级别分片分配
- Node
- 插件
- Index Modules(索引模块)
- Analysis(分析)
- 索引分片分配
- 分片分配过滤
- 节点丢失时的延迟分配
- 索引恢复的优先级
- 每个节点的总分片数
- Mapper(映射)
- Merge(合并)
- Similarity module(相似模块)
- Slow log(慢日志)
- Store
- 预加载数据到文件系统缓存
- Translog(事务日志)
- Ingest Node(预处理节点)
- Pipeline Definition(管道定义)
- Ingest APIs
- Put Pipeline API
- Get Pipeline API
- Delete Pipeline API
- Simulate Pipeline API(模拟管道 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(Grok 处理器)
- Gsub Processor(Gsub 处理器)
- Join Processor(连接处理器)
- JSON Processor(JSON 处理器)
- KV Processor(KV 处理器)
- Lowercase Processor(小写处理器)
- Remove Processor(删除处理器)
- Rename Processor(重命名处理器)
- Script Processor(脚本处理器)
- Set Processor(设置处理器)
- Split Processor(拆分处理器)
- Sort Processor(排序处理器)
- Trim Processor(修剪处理器)
- Uppercase Processor(大写处理器)
- Dot Expander Processor(点扩展器处理器)
- How to(操作方式)
- 一些建议
- Recipes(诀窍)
- 索引速率调优
- 查询优化
- 磁盘使用调优
- Testing(测试)
- Java Testing Framework(测试框架)
- ( why randomized testing ) 为什么随机测试?
- Using the elasticsearch test classes ( 使用 elasticsearch 测试类 )
- unit tests(单元测试)
- integreation test(集成测试)
- Randomized testing(随机测试)
- Assertions()
- Glossary of terms (词汇表)
- Release Notes(版本说明)
- 5.3.0 版本说明
- 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.1 Release Notes