面试题答案
一键面试- ElasticSearch中查询删除的基本流程:
- 首先通过查询语句确定要删除的文档集合,ElasticSearch使用查询DSL来定义查询条件,就像SQL中的
WHERE
子句一样,它可以基于文档的各种字段值来筛选文档。 - 然后执行删除操作,删除那些符合前面查询条件的文档。在ElasticSearch中,删除操作是异步的,ElasticSearch会在后台执行实际的删除工作,并更新其内部数据结构(如倒排索引等)。
- 首先通过查询语句确定要删除的文档集合,ElasticSearch使用查询DSL来定义查询条件,就像SQL中的
- 使用DSL语法按条件删除文档示例:
假设索引名为
products
,要删除category
为electronics
的所有文档,使用DELETE BY QUERY
API,示例如下:
POST products/_delete_by_query
{
"query": {
"match": {
"category": "electronics"
}
}
}
上述DSL语句中,POST products/_delete_by_query
表示对products
索引执行按查询删除操作。query
部分定义了删除的条件,这里使用match
查询匹配category
字段值为electronics
的文档并删除。