Elasticsearch Filter 查询详解:从基础使用到注意事项
前言在 Elasticsearch 的查询 DSL 中,Filter 查询是一种高效的数据过滤机制。与 Query 查询不同,Filter 查询不计算相关性分数(_score),并且其结果可以被缓存,因此在性能上通常优于 Query 查询,特别适用于精确匹配、范围过滤等不需要相关性排序的场景。本文将详细介绍 Filter 查询的基本概念、使用方法、常见问题及解决方案,帮助读者深入理解并正确使用这一重要功能。一、Filter 查询基础与数据准备Filter 查询的核心特点是不计算相关性分数,同时支持缓存,因此执行速度更快。它通常用于精确匹配、范围查询等场景。在学习查询之前,我们先准备测试数据:#Filter查询 #filter是不计算相关性的,同时可以cache.因此,filter速度要快于query. POST /lib5/items/_bulk {"index":{"_id": 1}} {"price": 40,"itemID": "ID100123"} {"index":{"_id": 2}} {"price": 50,"itemID": "ID100124"} {"index":{"_id": 3}} {"price": 25,"itemID": "ID100124"} {"index":{"_id": 4}} {"price": 30,"itemID": "ID100125"} {"index":{"_id":5}} {"price": null, "itemID": "ID100127"}