ElasticSearch-基础-06-文档_document
2025-01-22 08:19:30    579 字   
This post is also available in English and alternative languages.

ElasticSearch版本:6.5.0(点击跳转官方文档)

Elasticsearch是面向文档(document oriented)的,这意味着它可以存储整个对象或文档(document)。 然而它不仅仅是存储,还会索引(index)每个文档的内容使之可以被搜索。


在Elasticsearch中,你可以对文档(而非成行成列的数据)进行索引、搜索、排序、过滤。 这种理解数据的方式与以往完全不同,这也是Elasticsearch能够执行复杂的全文搜索的原因之一。

ELasticsearch使用JSON作为文档序列化格式,示例数据如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
{
"took": 1,
"timed_out": false,
"_shards": {
"total": 5,
"successful": 5,
"skipped": 0,
"failed": 0
},
"hits": {
"total": 8,
"max_score": 1,
"hits": [
{
"_index": "megacorp",
"_type": "employee",
"_id": "5",
"_score": 1,
"_source": {
"about": "i love evertything",
"last_name": "yixin",
"interests": [
"read book",
"swim"
],
"first_name": "cheng",
"age": "22"
}
},{
"_index": "megacorp",
"_type": "employee",
"_id": "6",
"_score": 1,
"_source": {
"first_name": "eee",
"last_name": "qwe",
"age": 54,
"about": "I love to go rock wer",
"interests": [
"run",
"music"
]
}
}
]
}
}

1. 文档元数据

一个文档不只有数据。它还包含了元数据(文档信息)。

三个必须的元数据节点:

节点说明
_index文档所在索引(index)
_type文档所在类型(type)
_id文档唯一标识符

1.1. _index

索引(index)类似于关系型数据库里的“数据库”——它是我们存储和索引关联数据的地方。


1.2. _type

在关系型数据库中,我们经常将相同类的对象存储在一个表里,因为它们有着相同的结构。同理,在Elasticsearch中,我们使用相同类型(type)的文档表示相同的"事物",因为他们的数据结构也是相同的。


1.3. id

id仅仅是一个字符串,它与 _index 和 _type 组合时,就可以在ELasticsearch中唯一标识一个文档。当创建一个文档,你可以自定义 _id ,也可以让Elasticsearch帮你自动生成


2. Reference