MST

星途 面试题库

面试题:ElasticSearch复杂查询删除场景下URL参数的运用

假设有一个ElasticSearch索引存储了电商产品信息,包括产品ID、价格、销量等字段。现在要删除价格大于100且销量小于50的产品文档,如何通过URL参数实现?同时,如果要查询价格在50到150之间,且按销量降序排列前10条产品信息,URL参数该如何构造?
32.4万 热度难度
数据库ElasticSearch

知识考点

AI 面试

面试题答案

一键面试
  1. 删除价格大于100且销量小于50的产品文档

    DELETE /your_index_name/_delete_by_query?q=price:>100 AND sales: < 50
    

    解释:

    • /your_index_name 为实际的索引名称。
    • _delete_by_query 是Elasticsearch中通过查询来删除文档的API。
    • q 参数用于指定查询条件,这里使用简单的查询字符串语法,price:>100 表示价格大于100,sales: < 50 表示销量小于50,AND 连接两个条件,表示同时满足这两个条件的文档会被删除。
  2. 查询价格在50到150之间,且按销量降序排列前10条产品信息

    GET /your_index_name/_search?q=price:[50 TO 150]&sort=sales:desc&size=10
    

    解释:

    • /your_index_name 为实际的索引名称。
    • _search 是Elasticsearch的搜索API。
    • q 参数指定查询条件,price:[50 TO 150] 表示价格在50到150之间。
    • sort 参数用于指定排序规则,sales:desc 表示按销量降序排列。
    • size 参数指定返回的文档数量,这里设置为10,表示返回前10条产品信息。