前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ES搜索内容置顶

ES搜索内容置顶

原创
作者头像
蒙古上单2
修改2021-05-18 19:29:10
1.9K0
修改2021-05-18 19:29:10
举报
文章被收录于专栏:第二蒙古上单第二蒙古上单

有些时候,我们可能需要人工干预ES的搜索结果,让指定的内容置顶,ES提供了pinned语法来实现该功能。

代码语言:javascript
复制
GET article_search/_search
{
  "query" : {
    "pinned":{
      "ids" : ["1234567"],
      "organic": {
        "match" : {
          "title": "制作云"
        }
      }
    }
  },
  "size" : 10,
  "from" : 0
}

pinned里面的ids表示要置顶的文档id列表。

organic是任意的查询语句。我们可以换成一个复杂的查询:

代码语言:javascript
复制
GET article_search/_search
{
  "query" : {
    "pinned":{
      "ids" : ["1234567"],
      "organic": {
        "bool" : {
          "should" : [
            {
              "match_phrase" : {
                "title" : {
                  "query" : "制作云",
                  "boost" : 2,
                  "slop" : 4
                }
              }
            },
            {
              "multi_match" : {
                "query" : "制作云",
                "type" : "best_fields",
                "fields" : ["title", "plain"],
                "minimum_should_match" : "20%",
                "boost" : 1
              }
            }
          ],
          "minimum_should_match" : 1
        }
      }
    }
  },
  "size" : 10,
  "from" : 0
}

看文档说似乎是从ES 7.4版本开始支持这个语法。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
Elasticsearch Service
腾讯云 Elasticsearch Service(ES)是云端全托管海量数据检索分析服务,拥有高性能自研内核,集成X-Pack。ES 支持通过自治索引、存算分离、集群巡检等特性轻松管理集群,也支持免运维、自动弹性、按需使用的 Serverless 模式。使用 ES 您可以高效构建信息检索、日志分析、运维监控等服务,它独特的向量检索还可助您构建基于语义、图像的AI深度应用。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档