Skip to content

Commit c29ebbb

Browse files
committed
update docs
1 parent 079b40f commit c29ebbb

File tree

6 files changed

+1420
-3
lines changed

6 files changed

+1420
-3
lines changed

codes/javadb/javadb-redis/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
<maven.compiler.source>${java.version}</maven.compiler.source>
1515
<maven.compiler.target>${java.version}</maven.compiler.target>
1616

17-
<spring.version>5.2.8.RELEASE</spring.version>
17+
<spring.version>5.2.9.RELEASE</spring.version>
1818
<logback.version>1.2.3</logback.version>
1919
<jedis.version>2.9.0</jedis.version>
2020
<redisson.version>3.7.2</redisson.version>

docs/.vuepress/config.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,10 @@ module.exports = {
4545
text: 'Redis',
4646
link: '/nosql/redis/',
4747
},
48+
{
49+
text: 'Elasticsearch',
50+
link: '/nosql/elasticsearch/',
51+
},
4852
{
4953
text: 'MongoDB',
5054
link: '/nosql/mongodb/',

docs/nosql/elasticsearch/Elasticsearch基本概念.md

Lines changed: 161 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,167 @@ Elasticsearch 使用 [_JSON_](http://en.wikipedia.org/wiki/Json) 作为文档的
7272

7373
![](https://raw.githubusercontent.com/dunwu/images/dev/snap/20220108215559.PNG)
7474

75+
### index template
76+
77+
**`index template`**(索引模板)帮助用户设定 Mapping 和 Setting,并按照一定的规则,自动匹配到新创建的索引之上。
78+
79+
- 模板仅在一个索引被创建时,才会产生作用。修改模板不会影响已创建的索引。
80+
- 你可以设定多个索引模板,这些设置会被 merge 在一起。
81+
- 你可以指定 order 的数值,控制 merge 的过程。
82+
83+
当新建一个索引时
84+
85+
- 应用 ES 默认的 Mapping 和 Setting
86+
- 应用 order 数值低的 index template 中的设定
87+
- 应用 order 数值高的 index template 中的设定,之前的设定会被覆盖
88+
- 应用创建索引是,用户所指定的 Mapping 和 Setting,并覆盖之前模板中的设定。
89+
90+
示例:创建默认索引模板
91+
92+
```bash
93+
PUT _template/template_default
94+
{
95+
"index_patterns": ["*"],
96+
"order": 0,
97+
"version": 1,
98+
"settings": {
99+
"number_of_shards": 1,
100+
"number_of_replicas": 1
101+
}
102+
}
103+
104+
PUT /_template/template_test
105+
{
106+
"index_patterns": ["test*"],
107+
"order": 1,
108+
"settings": {
109+
"number_of_shards": 1,
110+
"number_of_replicas": 2
111+
},
112+
"mappings": {
113+
"date_detection": false,
114+
"numeric_detection": true
115+
}
116+
}
117+
118+
# 查看索引模板
119+
GET /_template/template_default
120+
GET /_template/temp*
121+
122+
#写入新的数据,index以test开头
123+
PUT testtemplate/_doc/1
124+
{
125+
"someNumber": "1",
126+
"someDate": "2019/01/01"
127+
}
128+
GET testtemplate/_mapping
129+
GET testtemplate/_settings
130+
131+
PUT testmy
132+
{
133+
"settings":{
134+
"number_of_replicas":5
135+
}
136+
}
137+
138+
PUT testmy/_doc/1
139+
{
140+
"key": "value"
141+
}
142+
143+
GET testmy/_settings
144+
DELETE testmy
145+
DELETE /_template/template_default
146+
DELETE /_template/template_test
147+
```
148+
149+
### dynamic template
150+
151+
- 根据 ES 识别的数据类型,结合字段名称,来动态设定字段类型
152+
- 所有的字符串类型都设定成 Keyword,或者关闭 keyword 字段。
153+
- is 开头的字段都设置成 boolean
154+
- long_ 开头的都设置成 long 类型
155+
- dynamic template 是定义在某个索引的 Mapping 中
156+
- template 有一个名称
157+
- 匹配规则是一个数组
158+
- 为匹配到字段设置 Mapping
159+
160+
示例:
161+
162+
```bash
163+
#Dynaminc Mapping 根据类型和字段名
164+
DELETE my_index
165+
166+
PUT my_index/_doc/1
167+
{
168+
"firstName": "Ruan",
169+
"isVIP": "true"
170+
}
171+
172+
GET my_index/_mapping
173+
174+
DELETE my_index
175+
PUT my_index
176+
{
177+
"mappings": {
178+
"dynamic_templates": [
179+
{
180+
"strings_as_boolean": {
181+
"match_mapping_type": "string",
182+
"match": "is*",
183+
"mapping": {
184+
"type": "boolean"
185+
}
186+
}
187+
},
188+
{
189+
"strings_as_keywords": {
190+
"match_mapping_type": "string",
191+
"mapping": {
192+
"type": "keyword"
193+
}
194+
}
195+
}
196+
]
197+
}
198+
}
199+
GET my_index/_mapping
200+
201+
DELETE my_index
202+
#结合路径
203+
PUT my_index
204+
{
205+
"mappings": {
206+
"dynamic_templates": [
207+
{
208+
"full_name": {
209+
"path_match": "name.*",
210+
"path_unmatch": "*.middle",
211+
"mapping": {
212+
"type": "text",
213+
"copy_to": "full_name"
214+
}
215+
}
216+
}
217+
]
218+
}
219+
}
220+
GET my_index/_mapping
221+
222+
223+
PUT my_index/_doc/1
224+
{
225+
"name": {
226+
"first": "John",
227+
"middle": "Winston",
228+
"last": "Lennon"
229+
}
230+
}
231+
232+
GET my_index/_search?q=full_name:John
233+
DELETE my_index
234+
```
235+
75236
## Mapping
76237

77238
在 Elasticsearch 中,**`Mapping`**(映射),用来定义一个文档以及其所包含的字段如何被存储和索引,可以在映射中事先定义字段的数据类型、字段的权重、分词器等属性,就如同在关系型数据库中创建数据表时会设置字段的类型。

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy