面试题答案
一键面试1. 排序(Sorting)
- 扩展功能:允许按照文档中的某个字段进行升序或降序排列,支持多字段排序。
- 日志分析场景:在日志分析中,可能需要按照日志的时间戳字段进行降序排序,以便首先看到最新的日志记录。例如,在排查系统故障时,最新的日志往往包含关键信息。可以通过在查询中指定
sort
参数,指定时间戳字段为排序依据。 - 商品搜索场景:在电商商品搜索中,可能按照商品价格进行升序排列(便于用户查找低价商品),或者按照销量进行降序排列(热门商品优先展示)。通过在搜索API请求中设置
sort
参数,指定价格或销量字段以及排序方向。
2. 分页(Pagination)
- 扩展功能:通过
from
和size
参数控制返回结果集的起始位置和数量,实现分页展示。 - 日志分析场景:当处理大量日志时,不可能一次性展示所有日志。通过分页功能,每次只获取一部分日志记录。例如,在一个包含百万条日志的系统中,每页展示100条日志,通过调整
from
参数(如from=0
,from=100
等)来获取不同页面的日志。 - 商品搜索场景:电商平台上商品众多,搜索结果需要分页展示给用户。比如每页展示20个商品,
size=20
,用户通过点击“下一页”,增加from
的值(from=20
,from=40
等)来查看后续商品。
3. 高亮(Highlighting)
- 扩展功能:能够在搜索结果中对匹配的关键词进行高亮显示,突出展示与搜索条件相关的内容。
- 日志分析场景:在搜索特定错误关键字的日志时,将错误关键字在日志内容中高亮显示,方便快速定位关键信息。在API请求中设置
highlight
参数,指定需要高亮的字段以及高亮的样式(如<em>
标签包裹等)。 - 商品搜索场景:在商品搜索中,将用户搜索的关键词在商品标题、描述等字段中高亮,让用户快速了解商品与搜索条件的相关性。通过在API中配置
highlight
选项,指定商品标题、描述等字段进行高亮。
4. 聚合(Aggregation)
- 扩展功能:用于对搜索结果进行统计分析,如计算平均值、最大值、最小值、总和,以及进行分组统计等。
- 日志分析场景:可以对日志中的响应时间字段进行聚合操作,计算平均响应时间、最大响应时间等,帮助分析系统性能。例如使用
terms
聚合按日志类型分组,再对每个组内的响应时间进行统计。 - 商品搜索场景:在电商平台,可以按商品类别进行聚合,统计每个类别下商品的数量,了解各类别商品的占比情况。通过在API请求中使用
aggs
参数,定义聚合规则。