首页 > 其他分享 >elasticsearch

elasticsearch

时间:2023-08-22 15:33:49浏览次数:40  
标签:分数 should filter elasticsearch 子句 查询 must

最典型的是两个应用场景:全文检索 和 复杂查询。

正排索引,也叫正向索引(Forward Index),是通过文档ID去查找关键词(文档内容)。
倒排索引,也叫反向索引(Inverted Index),是通过关键词查找文档ID。

  • must:其查询子句必须全部被满足,逻辑相当于 and ,并且会计算分数。

  • filter:与 must 作用一样,但是不会计算分数。在 filter context 下的查询子句不会计算分数且会被缓存,不会计算分数,所以查询会快

  • should:其查询子句应该被满足,也就是不一定都满足,逻辑相当于 or。

    • 如果 bool query 是在 query context 下,且包含 must 子句或 filter 子句,此时只要满足 must 子句或 filter 子句里的条件就算匹配上,should 子句里的条件不会对结果有影响,只会影响分数的计算。
    • 如果 bool query 是在 filter context 下,且没有包含 must 子句和 filter 子句,此时必须任意一个 should 查询条件满足才算匹配上。

    以上行为都受 minimum_should_match 参数影响,也就是需要满足的 should 子句查询条件的最小数目。

  • must_not:其查询子句必须都不被满足。当子句是在 filter context 下时,不会计算分数且会被缓存。


作者:邦就是我53674
链接:https://juejin.cn/post/6936487066272432142
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
POST _search
{
  "query": {
    "bool" : {
      "must" : {
        "term" : { "user" : "kimchy" }
      },
      "filter": {
        "term" : { "tag" : "tech" }
      },
      "must_not" : {
        "range" : {
          "age" : { "gte" : 10, "lte" : 20 }
        }
      },
      "should" : [
        { "term" : { "tag" : "wow" } },
        { "term" : { "tag" : "elasticsearch" } }
      ],
      "minimum_should_match" : 1,
      "boost" : 1.0
    }
  }
}

 

  

标签:分数,should,filter,elasticsearch,子句,查询,must
From: https://www.cnblogs.com/qiaoqifa/p/17648640.html

相关文章

  • Elasticsearch实战 | match_phrase搜不出来,怎么办?
    1、问题抛出某个词组在Elasitcsearch中的某个document中存在,就一定通过某种匹配方式把它搜出来。举例:title=公路局正在治理解放大道路面积水问题。输入关键词:道路,能否搜索到这个document呢?实际应用中可能需要:1)检索关键词”理解”、”解放”、”道路”、“理解放大”,都能搜出......
  • 记:Elasticsearch 的 告警机制 和 jvm 内存分配
    Elasticsearch的告警机制导致的更新失败问题总结:由于测试环境资源占用比例过高导致elasticsearch触发保护机制,导致的更新失败的问题Es告警日志:查看服务器资源使用情况:此时Es所在的挂载磁盘已经占用了95%,Es默认的保护机制:属性名属性值(可配置为固定值)含义保......
  • 深入了解Elasticsearch搜索引擎篇:倒排索引、架构设计与优化策略
    什么是倒排索引?有什么好处?倒排索引是一种用于快速检索的数据结构,常用于搜索引擎和数据库中。与传统的正排索引不同,倒排索引是根据关键词来建立索引,而不是根据文档ID。倒排索引的建立过程如下:首先,将每个文档拆分成一系列的关键词或词项,然后建立一个词项到文档的映射。对每个关键......
  • 解密Nginx与Elasticsearch的协同高效:深入理解反向代理与全文搜索
    在当今高度互联的网络环境中,后端技术的结合与优化对于构建高性能应用至关重要。本篇博客将聚焦于两个关键主题:Nginx反向代理和Elasticsearch全文搜索,通过深入分析实现原理和代码示例,展示它们如何协同工作以提升系统性能。Nginx反向代理的作用Nginx不仅仅是一款高性能的Web服务器,还......
  • 构建高性能后端:探秘Nginx与Elasticsearch的技术协同
    在如今的信息时代,高性能的后端技术对于应用的成功至关重要。本文将深入探讨两个关键技术领域:Nginx反向代理和Elasticsearch全文搜索。通过详细的原理解析和实际代码示例,揭示它们如何协同工作,为应用的性能和效率提供强大支持。Nginx反向代理:背后的原理Nginx不仅是一款优秀的Web服务......
  • Nginx与Elasticsearch:高性能后端的黄金组合
    在追求高性能的后端开发中,Nginx与Elasticsearch是两个不可或缺的技术利器。本文将深入剖析这两者,探讨它们的协同作用,通过深入原理解析和实用代码示例,揭示它们如何共同构建高效的后端系统。构建高性能后端的首选:Nginx反向代理Nginx不仅是一款出色的Web服务器,还是一款强大的反向代理......
  • Nginx与Elasticsearch:高性能后端的完美融合
    在追求卓越后端性能的道路上,Nginx与Elasticsearch是一对黄金组合。本文将从深度原理解析和实际代码示例两个方面,探索这两项技术的协同作用,揭示它们如何共同构建高效的后端系统。打造高性能后端:Nginx反向代理Nginx不仅仅是一款优秀的Web服务器,更是一款强大的反向代理工具。通过将客......
  • 深入探索Elasticsearch的分布式搜索与性能优化
    在后端开发领域,Elasticsearch作为一款强大的分布式搜索与分析引擎,被广泛应用于构建高性能的搜索和数据分析系统。本文将深入探讨Elasticsearch的分布式特性、搜索原理以及性能优化策略。通过结合实际代码示例,为读者提供关于Elasticsearch的深奥知识和实用方法。1.Elasticsearch概......
  • elasticSearch常见的面试题
    常见的面试问题描述使用场景es集群架构3个节点,根据不同的服务创建不同的索引,根据日期和环境,平均每天递增60*2,大约60Gb的数据。调优技巧设计阶段的调优根据业务增长的需求,采取日期模版创建索引,通过rolloverAPI实现滚动索引定义条件,生成新的索引,但都指向一个别名根据别名对索引进行......
  • 分布式存储系统举例剖析(elasticsearch,kafka,redis-cluster)
    1.概述对于分布式系统,人们首先对现实中的分布式系统进行高层抽象,然后做出各种假设,发展了诸如CAP,FLP等理论,提出了很多一致性模型,Paxos是其中最璀璨的明珠。我们对分布式系统的时序,复制模式,一致性等基础理论特别关注。在共识算法的基础上衍生了选举算法,并且为分布式事务提供......