面试题答案
一键面试- 步骤:
- 首先,构建一个查询语句来匹配价格大于100且产品名称包含'book'的文档。
- 然后,使用Elasticsearch的删除API来删除这些匹配的文档。
- 关键代码(以Python的elasticsearch库为例):
from elasticsearch import Elasticsearch
# 连接Elasticsearch
es = Elasticsearch(['localhost:9200'])
# 构建查询体
query = {
"query": {
"bool": {
"must": [
{
"range": {
"price": {
"gt": 100
}
}
},
{
"match": {
"product_name": "book"
}
}
]
}
}
}
# 执行删除操作
es.delete_by_query(index='products', body=query)
如果使用Kibana的Dev Tools,关键代码如下:
POST products/_delete_by_query
{
"query": {
"bool": {
"must": [
{
"range": {
"price": {
"gt": 100
}
}
},
{
"match": {
"product_name": "book"
}
}
]
}
}
}