【Elasticsearch】ES查询不等于的实现方式比较 must 您所在的位置:网站首页 uibot不等于怎么写 【Elasticsearch】ES查询不等于的实现方式比较 must

【Elasticsearch】ES查询不等于的实现方式比较 must

2024-07-16 08:09| 来源: 网络整理| 查看: 265

前言

在我们ES的日常使用中,需要根据业务去筛选不等于某一个数值或者字符串的查询,下面我将列出几种实现方式,并比较优缺点,给大家参考。

查询 must_not

must_not和must、filter、should属于同一层级,都属于布尔查询下的文档匹配查询。

The clause (query) must not appear in the matching documents. Clauses are executed in filter context meaning that scoring is ignored and clauses are considered for caching. Because scoring is ignored, a score of 0 for all documents is returned.

相当于在filter context中执行不会计入评分,分数返回0会使用缓存 SQL语句

ES查询也是可以使用SQL语句的。

POST /_sql?format=txt { "query": "SELECT * FROM library ORDER BY page_count DESC LIMIT 5" } 或者!= SELECT last_name l FROM "test_emp" WHERE emp_no 10000 ORDER BY emp_no LIMIT 5; NOT SELECT last_name l FROM "test_emp" WHERE NOT emp_no = 10000 LIMIT 5; 总结

must_not 虽然跟must很像但是其实是和filter一样的,不会计算分数,并且会使用缓存。

参考资料 https://www.elastic.co/guide/en/elasticsearch/reference/7.11/query-dsl-bool-query.htmlhttps://www.elastic.co/guide/en/elasticsearch/reference/7.9/sql-rest-overview.html


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有