elasticsearch 排序 算法
admin
2023-07-29 10:20:12
0

如何将tfidf映射到[1,3] 区间内


(1)建立映射x→arctanx,此为一一映射,把全体实数R映射到开区间(-π/2,π/2)
(2)开区间(-π/2,π/2)到开区间(0,1)只需要一个线性映射就可以,设为f(x)=ax+b,则有f(-π/2)=1且f(π/2)=3,解得a=2/π,b=2
综合一下,映射x→2(arctanx)/π+2,即把全体实数映射到(1,3)



所以表达式可以写成


 "script_score" : {

          "script" : "return atan(_score.doubleValue())*2/3.14159+2"

        }



为了只使用函数值 设置 "boost_mode": "replace",


所以整个请求如下


curl -XGET 'http://localhost:9200/*/*/_search?pretty&explain' -d '{

 "size" : 1,

  "query" : {

    "function_score" : {

      "query" : {

            "bool" : {

               "should" : [ {

                "match" : {

                  "_all" : {

                    "query" : "关键字",

                    "type" : "boolean",

                    "operator" : "AND",

    "boost": 10

                  }

                }

              }, {

                "match" : {

                  "company_name" : {

                    "query" : "关键字",

                    "type" : "boolean",

                    "operator" : "AND",

"boost": 10

                  }

                }

              } ],

              "minimum_should_match" : "1"

            }

      },

      "functions" : [

          {

        "script_score" : {

          "script" : "return atan(_score.doubleValue())*2/3.14159+2"

        }

      },{

          "filter" : {

          "match" : {

            "company_name" : {

              "query" : "关键字",

              "type" : "boolean",

              "operator" : "AND"

            }

          }

        },

        "weight" : 2

      }


 ],

      "score_mode" : "sum",

 "boost_mode": "replace"

    }

  },

  "aggregations" : {

    "agg" : {

      "terms" : {

        "field" : "member_id",

        "size" : 0,

        "order" : {

          "top_hit" : "desc"

        }

      },

      "aggregations" : {

        "top_hit" : {

          "max" : {

            "script" : {

              "inline" : "_score"

            }

          }

        }

      }

    }

  }

  }'


相关内容

热门资讯

哈梅内伊葬礼开始:6000个喷... 当地时间7月4日,伊朗已故最高领袖哈梅内伊为期六天的葬礼在伊朗首都德黑兰开始。祈祷大厅在4日清晨6点...
日元狂跌!巨额汇市干预失败,日... 周四,日元兑美元汇率突然跳涨。据财联社,日本财务省在被问及日元突然飙升一事时拒绝置评。此前,知情人士...
特朗普赦免11人 【环球网报道 记者 索炎琦】据路透社、美联社报道,白宫方面称,美国总统特朗普当地时间周五(3日)赦免...
赖清德当众吃狗粮,郭正亮:他是... 赖清德昨天(3日)出席台北宠物用品展开幕典礼,顺便替家中两只宠物狗采购用品,期间有业者声称自家肉干无...
美大使:好失望,你们在中国肯定... 【文/观察者网 冯雪】据路透社7月3日报道,美国新任驻新西兰及多个太平洋岛国大使表示,确保获取库克群...
投资4000万游乐园被拆,原为... ▲游乐园已经变成一片废墟今年5月,贵州省毕节市七星关区政府项目公司被一游乐园投资方告上法庭。红星新闻...
欧洲人快热到裸奔了 最近有关欧洲气温的话题热度,都快赶上世界杯了,全球都在争论不休。无他。这个夏天,欧洲已经热疯了。法国...
免砸砖漏水维修电话 免砸砖漏水维修电话西安漏水维修电话【4000800692】,壁挂灶维修,地暖清洗,公司注册资本为30...
平板电脑变砖怎么办 当平板电脑变成砖头后,会发生如下情形:无法开机、黑屏、进入不了系统等问题。这时候,需要像一名修建筑工...
抛光砖和抛釉砖哪个更好,抛光砖... 抛光砖和抛釉砖是常见的瓷砖装饰材料,本文比较了它们的优缺点,并介绍了抛光砖的防滑处理方法。 抛...