我通过logstash往es里面存数据,存储结构如下的一个实例:{
"_index": "log-testselfdesign",
"_type": "testSelfDesign",
"_id": "AV-_ARsG2vVbm-jp_ik2",
"_version": 1,
"_score": null,
"_source": {
"path": "/UserslogstashFile/testSelfDesign/test.log",
"@timestamp": "2017-11-15T03:15:55.555Z",
"@version": "1",
"host": "local",
"id": "0005",
"type": "testSelfDesign",
"content": "content55555"
},
"fields": {
"@timestamp": [
1510715755555
]
},
"sort": [
1510715755555
]
}
我想问的是,虽然查询的时候是可以多个字段联合查询,比如按照id和_id查询,但是id和_id这两个字段都被索引了吗?
今天问了一个师兄,他不太清楚es里面的内容,他说按照我上面写的那个样子,里面的sort字段,应该只有@timestamp是被索引了,因为文档的排序结构是按照@timestamp来的,也就是说,如果我存储了海量数据的话,查询的时候,是否要添加@timestamp作为条件呢?根据id和_id查询的话,速度会不会很慢?
"_index": "log-testselfdesign",
"_type": "testSelfDesign",
"_id": "AV-_ARsG2vVbm-jp_ik2",
"_version": 1,
"_score": null,
"_source": {
"path": "/UserslogstashFile/testSelfDesign/test.log",
"@timestamp": "2017-11-15T03:15:55.555Z",
"@version": "1",
"host": "local",
"id": "0005",
"type": "testSelfDesign",
"content": "content55555"
},
"fields": {
"@timestamp": [
1510715755555
]
},
"sort": [
1510715755555
]
}
我想问的是,虽然查询的时候是可以多个字段联合查询,比如按照id和_id查询,但是id和_id这两个字段都被索引了吗?
今天问了一个师兄,他不太清楚es里面的内容,他说按照我上面写的那个样子,里面的sort字段,应该只有@timestamp是被索引了,因为文档的排序结构是按照@timestamp来的,也就是说,如果我存储了海量数据的话,查询的时候,是否要添加@timestamp作为条件呢?根据id和_id查询的话,速度会不会很慢?
1 个回复
redhat
赞同来自: