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时,字段不会建立倒排索引,就不能根据这个字段进行搜索,因此集群的搜索会稍微变快一点。而倒排索引是存放在磁盘中,因此会稍微节省一些磁盘空间。
本文详细解析了Elasticsearch中字段索引的作用及设置方法,通过对比index:true与index:false的区别,阐述了索引对查询性能的影响,以及如何在创建索引时合理配置以优化搜索效率。
1056





