一、题目
为一个索引,按要求设置以下 dynamic Mapping
- 一切 text 类型的字段,类型全部映射成 keyword
- 一切以 int_ 开头命名的字段,类型都设置成 integer
1.1 考点
字段的动态映射
1.2 答案
# 创建索引和索引模板
PUT my_index
{
"mappings": {
"dynamic_templates": [
{
"integer": {
"match": "int_*",
"mapping": {
"type": "integer"
}
}
},
{
"text": {
"match_mapping_type": "string",
"mapping": {
"type": "keyword"
}
}
}
]
}
}
# 写入数据
POST my_index/_bulk
{"index":{}}
{"text":"天安门广场", "int_value":23}
{"index":{}}
{"cont":"好看的小说", "int_value":50.0}
{"index":{}}
{"cont":"晚上值班很痛苦", "int_value":88.8}
检查索引结构
GET my_index/_mapping
二、题目
为 movies 索引设定一个别名,默认查询只返回 score 字段 大于 3 的电影
# 创建索引
PUT movies
{
"mappings": {
"properties": {
"name": {
"type": "keyword"
},
"score": {
"type": "float"
}
}
}
}
# 写入数据
POST movies/_bulk
{"index":{}}
{"name":"百万雄师过大江","score":5}
{"index":{}}
{"name":"陆小凤传奇","score":4}
{"index":{}}
{"name":"七宗罪","score":3}
{"index":{}}
{"name":"华尔街之狼","score":2.1}
1.1 考点
- 索引别名
1.2 答案
# 建立别名
POST _aliases
{
"actions": [
{
"add": {
"index": "movies",
"alias": "movies_alias",
"filter": {
"bool": {
"filter": [
{
"range": {
"score": {
"gte": 3
}
}
}
]
}
}
}
}
]
}
# 用别名检索
GET movies_alias/_search