boost使用场景

{//为每个全文索引字段定义highlight(高亮)格式
  "highlight": {
    "fields": {
      "subject": {},
      "message": {}
    }
  },
//不返回全部数据
  "_source": false,
//只返回subject字段
  "fields": [
    "subject"
  ],
//一个查询语句
  "query": {
//自定义score(分数)
    "function_score": {
      "query": {
//带过滤器的查询需要用filtered  包裹
        "filtered": {
//过滤器部分
          "filter": {
            "term": {
              "tagid": 1
            }
          },
//查询语句部分(全文索引)
          "query": {
//要查的部分有2个,用or连接起来(should 类似or)
            "bool": {
              "should": [
                {
//match来按照全文索引来查
                  "match": {
//查标题
                    "subject": {
//标题关键字
                      "query": "手榴弹",
//权重boost会做个乘法
                      "boost": 5
                    }
                  }
                },
//内容字段权重较低,配置基本相同
                {
                  "match": {
                    "message": {
                      "query": "手榴弹",
                      "boost": 1
                    }
                  }
                }
              ]
            }
          }
        }
      },
//额外的发布时间权重,时间越大,权重越大,也是乘法(默认)
//但是由于log在输入值巨大的情况下(时间戳)y轴增长缓慢,几乎无法影响到score,所以下面这个配置,思想是好的,结果是废的
      "field_value_factor": {
        "field": "dateline",
//log(1 + dateline)
        "modifier": "log1p",
        "factor": 0.1,
        "missing": 1//没有这个字段的处理方式,返回分数1
      }
    }
  }
} 
如果一个是一个boolquery那么为了标示每个部分的不同的重要性可以使用bool
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值