index: true 是否为该field 创建索引,体现出来就是该字段是否可被查询
创建index:
PUT my_index
{
"mappings": {
"type": {
"properties": {
"name": {
"type": "keyword"
},
"age": {
"type": "keyword",
"index": false
}
}
}
}
}
设置age
字段的"index": false
,添加一条数据:
POST my_index/type
{
"name": "vincent",
"age": "20"
}
当我们查询字段age
的值时:
POST my_index/_search
{
"query": {
"bool": {
"filter": {
"term": {
"age": "20"
}
}
}
}
}
出现报错信息:
而当我们搜索name
时,可以正常搜到结果。说明数据还是正常入到库中了。
设置字段index: true
时,字段不会建立倒排索引,就不能根据这个字段进行搜索,因此集群的搜索会稍微变快一点。而倒排索引是存放在磁盘中,因此会稍微节省一些磁盘空间。