zoukankan      html  css  js  c++  java
  • 13.multi_match实现dis_max+tie_breaker

    主要知识点:

    • 基于multi_match语法实现dis_max+tie_breaker

       

    1best_fields+tie_breaker

    GET /forum/article/_search

    {

    "query": {

    "multi_match": {

    "query": "java solution",

    "type":"best_fields",

    "fields":[ "title^2", "content" ],

    "tie_breaker": 0.3,

    "minimum_should_match": "50%"

    }

    }

    }

       

    "fields":[ "title^2", "content" ],title的权重设为2

       

    二、multi_match实现dis_max+tie_breaker

    GET /forum/article/_search

    {

    "query": {

    "dis_max": {

    "tie_breaker": 0.7,

    "queries": [{"match": {"title":

    {"query": "java beginer","boost":2,"minimum_should_match": "50%"}}},

    {"match": {"content":

    {"query": "java beginer","boost":1,"minimum_should_match": "30%"}}}

    ]

    }

    }

    }

    minimum_should_match,主要是用来去长尾(long tail),什么是长尾?,比如你搜索5个关键词,但是很多结果是只匹配1个关键词的,其实跟你想要的结果相差甚远,这些结果就是长尾。

    minimum_should_match,控制搜索结果的精准度,只有匹配一定数量的关键词的数据,才能返回。

  • 相关阅读:
    Java 方法重载 (Overload)
    Java 向数组中添加一个元素
    Java 三目运算符
    代理池的维护
    代理设置
    验证码识别
    使用Selenium爬取淘宝商品
    Splash API 调用
    Android ListView中Item点击事件失效解决方案
    mapreduce框架详解
  • 原文地址:https://www.cnblogs.com/liuqianli/p/8485343.html
Copyright © 2011-2022 走看看