黑色命令行里的查询优化方案,配上灵活的多字段过滤逻辑,Elasticsearch的高级玩法还挺多。别光会match
和term
,试试bool
组合、多层嵌套的filter
条件,响应快、命中准,用着还挺爽。
你用过range
查时间范围吧?那跟must_not
一起用,简直是数据清洗神器。比如想查“过去 7 天非管理员的活跃用户”?bool
配合range
和must_not
,轻松搞定。
哦对,别忘了aggregations
,做数据统计也方便。字段太多?配合script
做字段转换,结果一目了然。配前端的分页,from
+ size
挺好使,就是大数据量下要留意性能。
如果你对数据查询这块有点追求,不妨也看看其他数据库的玩法。MySQL 高级查询、MongoDB 高级技巧,都是蛮实用的对比参考。
用 Elasticsearch 不是只会GET
文档,多琢磨下查询细节,项目的响应时间能直接压下来。如果你是做复杂报表、权限筛选的,那这些高级技巧必须得掌握住。