3.4.6 Query DSL changes

Queries and filters merged
查询和过滤器已合并 - 所有过滤器子句现在都是查询子句。相反,查询子句现在可以在查询上下文或过滤器上下文中使用:

Query context
在查询上下文中使用的查询将计算相关性分数并且不做缓存处理。每当过滤器上下文不适用时,使用查询上下文。

Filter context
在过滤器上下文中使用的查询将不计算相关性分数,并且可以被缓存。过滤器上下文由以下引入:
• constant_score查询
• 在bool查询中的must_not和(新添加的)filter parameter(过滤器参数)
• filter和filters参数在function_score查询中
• 任何称为过滤器的API中,如post_filter搜索参数,或aggregations或index aliases

terms query and filter
现在不推荐使用term filter 的execution选项,如果使用了,将会被忽略。类似地,term query不再支持minimum_should_match参数。
or and and now implemented via bool
之前的or和and过滤器具有与bool过滤器不同的执行模式。
这个区别已经被删除:bool查询现在非常智能,足以处理这两种情况(译者注:or和and)。由于这种变化,or和and过滤器现在是语法糖,它们执行内部作为bool查询。这些过滤器可能在将来会删除。
filtered query and query filter deprecated
query filter已被弃用 - 所有查询都可以在query或filter上下文中使用。
filtered query在现在支持的bool查询中已弃用。nstead of the following:

GET _search
{
  "query": {
    "filtered": { 1
      "query": {
        "match": {
          "text": "quick brown fox"
        }
      },
      "filter": { 2
        "term": {
          "status": "published"
        }
      }
    }
  }
}

将query和filter移动到bool查询中的must和filter参数:

GET _search
{
  "query": {
    "bool": { 1
      "must": { 2
        "match": {
          "text": "quick brown fox"
        }
      },
      "filter": { 3
        "term": {
          "status": "published"
        }
      }
    }
  }
}

Filter auto-caching(过滤器的自动缓存)
以前可以使用 _cache选项控制哪些过滤器需要缓存,并提供自定义_cache_key。这些选项已弃用,但如果存在,将被忽略掉。
现在在过滤器上下文中使用有意义的查询子句时会自动缓存。该算法考虑了使用频率、查询执行的代价和构建过滤器的代价。
term过滤器的查找机制不再缓存包含term的文档的值。它依赖于文件系统缓存。如果查找索引不太大,建议通过设置index.auto_expand_replicas:0-all来将其复制到所有节点,以便也消除网络开销。
Numeric queries use IDF for scoring(数字查询使用IDF进行评分)
以前,数字字段上的术语查询被有意的阻止使用通常的Lucene评分逻辑,并且这种行为是未被记录的(undocumented ),并且在某些情况下是意想不到的。
numeric (数字)字段的single term查询现在与string字段采用相同的评分方式,使用IDF和norms(如果已启用)。
要查询没有评分的数字字段,应在过滤器上下文中使用查询子句,例如,在bool查询的filter参数中,或者包装在一个constant_score查询中:

GET _search
{
  "query": {
    "bool": {
      "must": [
        {
          "match": { ①
            "numeric_tag": 5
          }
        }
      ],
      "filter": [
        {
          "match": { ②
            "count": 5
          }
        }
      ]
    }
  }
}

① 该子句在相关性得分计算中将包括IDF。
② 该字句对相关性得分计算没有影响。

Fuzziness and fuzzy-like-this
模糊匹配用于计算每个模糊选择方案的分数,意味着罕见的拼写错误会比常见的正确拼写具有更高的分数。现在,模糊匹配混合了所有模糊选择方案的得分,以使用IDF。
不能再使用百分比指定模糊性,而应使用数字:

  • 0,1,2
  • AUTO(根据项的长度选择0,1或2)

fuzzy_like_this和fuzzy_like_this_field查询使用了代价很大的模糊匹配方法,并且已被删除。
More Like This
More Like This(mlt)API和more_like_this_field(mlt_field)查询已被删除,有利于more_like_this查询。
_terms_to_match 参数已被删除,现在支持minimum_should_match.
limit filter deprecated
limit 过滤器已弃用,并成为无操作。
您可以使用terminate_after参数实现类似的行为。
Java plugins registering custom queries
Java插件注册自定义查询可以通过使用IndicesQueriesModule#addQuery(Class

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
资源包主要包含以下内容: ASP项目源码:每个资源包中都包含完整的ASP项目源码,这些源码采用了经典的ASP技术开发,结构清晰、注释详细,帮助用户轻松理解整个项目的逻辑和实现方式。通过这些源码,用户可以学习到ASP的基本语法、服务器端脚本编写方法、数据库操作、用户权限管理等关键技术。 数据库设计文件:为了方便用户更好地理解系统的后台逻辑,每个项目中都附带了完整的数据库设计文件。这些文件通常包括数据库结构图、数据表设计文档,以及示例数据SQL脚本。用户可以通过这些文件快速搭建项目所需的数据库环境,并了解各个数据表之间的关系和作用。 详细的开发文档:每个资源包都附有详细的开发文档,文档内容包括项目背景介绍、功能模块说明、系统流程图、用户界面设计以及关键代码解析等。这些文档为用户提供了深入的学习材料,使得即便是从零开始的开发者也能逐步掌握项目开发的全过程。 项目演示与使用指南:为帮助用户更好地理解和使用这些ASP项目,每个资源包中都包含项目的演示文件和使用指南。演示文件通常以视频或图文形式展示项目的主要功能和操作流程,使用指南则详细说明了如何配置开发环境、部署项目以及常见问题的解决方法。 毕业设计参考:对于正在准备毕业设计的学生来说,这些资源包是绝佳的参考材料。每个项目不仅功能完善、结构清晰,还符合常见的毕业设计要求和标准。通过这些项目,学生可以学习到如何从零开始构建一个完整的Web系统,并积累丰富的项目经验。
资源包主要包含以下内容: ASP项目源码:每个资源包中都包含完整的ASP项目源码,这些源码采用了经典的ASP技术开发,结构清晰、注释详细,帮助用户轻松理解整个项目的逻辑和实现方式。通过这些源码,用户可以学习到ASP的基本语法、服务器端脚本编写方法、数据库操作、用户权限管理等关键技术。 数据库设计文件:为了方便用户更好地理解系统的后台逻辑,每个项目中都附带了完整的数据库设计文件。这些文件通常包括数据库结构图、数据表设计文档,以及示例数据SQL脚本。用户可以通过这些文件快速搭建项目所需的数据库环境,并了解各个数据表之间的关系和作用。 详细的开发文档:每个资源包都附有详细的开发文档,文档内容包括项目背景介绍、功能模块说明、系统流程图、用户界面设计以及关键代码解析等。这些文档为用户提供了深入的学习材料,使得即便是从零开始的开发者也能逐步掌握项目开发的全过程。 项目演示与使用指南:为帮助用户更好地理解和使用这些ASP项目,每个资源包中都包含项目的演示文件和使用指南。演示文件通常以视频或图文形式展示项目的主要功能和操作流程,使用指南则详细说明了如何配置开发环境、部署项目以及常见问题的解决方法。 毕业设计参考:对于正在准备毕业设计的学生来说,这些资源包是绝佳的参考材料。每个项目不仅功能完善、结构清晰,还符合常见的毕业设计要求和标准。通过这些项目,学生可以学习到如何从零开始构建一个完整的Web系统,并积累丰富的项目经验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值