当前位置: 首页 > article >正文

11-单字符串多字段查询:Dis Max Query

dis_max 查询包含以下关键元素:

queries: 这是一个查询数组,其中包含两个 match 查询。

第一个 match 查询要求匹配 "title" 字段中包含 "Quick pets" 的文档。

第二个 match 查询要求匹配 "body" 字段中包含 "Quick pets" 的文档。

tie_breaker: 这个参数定义了非主要条件对结果得分的影响程度。在这里设置为 0.2,表示非主要条件的得分对最终得分的贡献比例为 20%。

换句话说,这个查询的意义是:

在 "title" 字段和 "body" 字段中寻找包含 "Quick pets" 的文档。

使用 disjunction-max 操作来计算最终得分,选择具有最高相关性得分的文档,并在此基础上应用 tie breaker 来考虑第二个查询条件的影响。

如果某个文档同时匹配了两个查询条件,其得分将会考虑到两个条件的相关性得分,其中第二个条件的得分将以较低的权重(由 tie breaker 控制)纳入最终得分的计算中。


PUT /blogs/_doc/1
{
    "title": "Quick brown rabbits",
    "body":  "Brown rabbits are commonly seen."
}

PUT /blogs/_doc/2
{
    "title": "Keeping pets healthy",
    "body":  "My quick brown fox eats rabbits on a regular basis."
}

POST /blogs/_search
{
    "query": {
        "bool": {
            "should": [
                { "match": { "title": "Brown fox" }},
                { "match": { "body":  "Brown fox" }}
            ]
        }
    }
}

POST blogs/_search
{
    "query": {
        "dis_max": {
            "queries": [
                { "match": { "title": "Quick pets" }},
                { "match": { "body":  "Quick pets" }}
            ]
        }
    }
}

# dis_max 查询包含以下关键元素:
# queries: 这是一个查询数组,其中包含两个 match 查询。
# 第一个 match 查询要求匹配 "title" 字段中包含 "Quick pets" 的文档。
# 第二个 match 查询要求匹配 "body" 字段中包含 "Quick pets" 的文档。
# tie_breaker: 这个参数定义了非主要条件对结果得分的影响程度。在这里设置为 0.2,表示非主要条件的得分对最终得分的贡献比例为 20%。
# 换句话说,这个查询的意义是:
# 在 "title" 字段和 "body" 字段中寻找包含 "Quick pets" 的文档。
# 使用 disjunction-max 操作来计算最终得分,选择具有最高相关性得分的文档,并在此基础上应用 tie breaker 来考虑第二个查询条件的影响。
# 如果某个文档同时匹配了两个查询条件,其得分将会考虑到两个条件的相关性得分,其中第二个条件的得分将以较低的权重(由 tie breaker 控制)纳入最终得分的计算中。
POST blogs/_search
{
    "query": {
        "dis_max": {
            "queries": [
                { "match": { "title": "Quick pets" }},
                { "match": { "body":  "Quick pets" }}
            ],
            "tie_breaker": 0.2
        }
    }
}

一次全文搜索的实例

POST tmdb/_search
{
"_source": ["title","overview"],
 "query": {
   "match_all": {}
 }
}

POST tmdb/_search
{
  "_source": ["title","overview"],
  "query": {
    "multi_match": {
      "query": "basketball with cartoon aliens",
      "fields": ["title","overview"]
    }
  },
  "highlight" : {
        "fields" : {
            "overview" : { "pre_tags" : ["\\033[0;32;40m"], "post_tags" : ["\\033[0m"] },
            "title" : { "pre_tags" : ["\\033[0;32;40m"], "post_tags" : ["\\033[0m"] }

        }
    }
}

http://www.kler.cn/a/382448.html

相关文章:

  • 论文阅读:DynamicDet: A Unified Dynamic Architecture for Object Detection
  • Memento 备忘录模式
  • Hunyuan-Large:推动AI技术进步的下一代语言模型
  • MySQL-如果你在添加外键时忘加约束名,如何找到系统默认的约束名
  • 论文概览 |《IJGIS》2024.09 Vol.38 issue9
  • js.轮转数组和旋转链表
  • Docker 安装使用操作指南
  • 宠物空气净化器测评!希喂/米家/有哈宠物空气净化器谁性价比高
  • 综合项目--博客
  • 【AIGC】如何充分利用ChatGPT:有效提示框架与基本规则
  • 成绩排序c++
  • D60【python 接口自动化学习】- python基础之数据库
  • 数据结构acwing和洛谷p8085作业
  • 专业 UI 设计公司:为您开启交互设计新征程
  • Linux案例:DNS服务器配置
  • java、excel表格合并、指定单元格查找、合并文件夹
  • HTML字符实体详解
  • 尚庭公寓-小程序接口
  • 【51蛋骗鸡16路电子开关编程CD4067使用switch】2021-12-27
  • Maven(17)如何使用Maven生成项目的文档?
  • 什么时候出现线程安全,如何实现线程安全?
  • ubuntu交叉编译expat库给arm平台使用
  • 【蓝队技能】【溯源反制】反打红队-蜜罐工具反制
  • MySQL数据库中的视图
  • 多模态模型中的动态分辨率总结
  • 前端使用PDF.js把返回的base64或二进制文件流格式,实现pdf文件预览