面试题答案
一键面试部分匹配
- 分析返回体结构:在 Elasticsearch 等支持复杂布尔查询结合删除操作的系统中,返回体通常包含
_shards
字段,它会显示删除操作涉及的分片信息。如果部分匹配,_shards
中的successful
数量会小于total
数量,且deleted
字段会显示实际删除的文档数量。例如:
{
"_shards": {
"total": 5,
"successful": 3,
"failed": 0
},
"deleted": 2
}
这里 successful
为 3 小于 total
的 5,说明有部分分片操作成功,deleted
为 2 表示部分匹配并删除了 2 个文档。
完全匹配
- 分析返回体结构:返回体中
_shards
的successful
字段值会等于total
字段值,同时deleted
字段会显示删除的文档数量。例如:
{
"_shards": {
"total": 5,
"successful": 5,
"failed": 0
},
"deleted": 5
}
这表明所有分片都成功执行删除操作,并且完全匹配删除了 5 个文档。
无匹配
- 分析返回体结构:返回体中
_shards
的successful
字段值仍可能等于total
字段值,但deleted
字段值为 0。例如:
{
"_shards": {
"total": 5,
"successful": 5,
"failed": 0
},
"deleted": 0
}
说明操作成功执行,但没有匹配到任何文档进行删除,即无匹配情况。