gpt4 book ai didi

boost - 使用ElasticSearch的无限制值的衰减过滤器功能

转载 作者:行者123 更新时间:2023-12-02 22:33:19 26 4
gpt4 key购买 nike

我在ElasticSearch索引中具有以下文档(至少1000000):

{"title":"toto", "views":132, "likes":23, "date" : "2014-09-01..." ...}

如果标题是使用l​​ang分析器索引的,则“意见”和“喜欢”字段是从0到无限的整数,并且日期是..date字段。

我想按标题进行搜索,如果它们是最近的并且具有很高的查看和喜欢度,则可以增强文档。

我正在使用一个衰减过滤器函数作为日期(从今天开始作为原点),它按预期工作,但是我不知道如何提高 View 和点赞字段,因为我没有max-origin。

这是我的搜索查询:
POST /threads/_search
{
"query": {
"function_score": {
"query": {
"multi_match": {
"query": "air france",
"type": "phrase",
"fields": [
"title^4",
"desc"
]
}
},
"functions": [
{
"exp": {
"date": {
"origin": "2014/09/29 13:00:00",
"scale": "12h",
"offset":"6h",
"decay":0.5
}
}
}
]
}
}
}

最佳答案

您可以尝试按照文档中this section的“field_value_factor”进行操作。然后,您需要测试和评估结果,修改“因素”和为“标题”提供的提升,然后再次进行测试,看看它是否越来越接近您的需求。另外,您可以使用search=explain查看ES如何计算_score。像这样:

POST /threads/_search?explain
{
"query": {
"function_score": {
"query": {
"multi_match": {
"query": "air france",
"type": "phrase",
"fields": [
"title^8",
"desc"
]
}
},
"functions": [
{
"exp": {
"date": {
"origin": "2014/09/29 13:00:00",
"scale": "12h",
"offset":"6h",
"decay":0.5
}
}
},
{
"field_value_factor": {
"field": "views",
"modifier": "log2p",
"factor": 0.1
}
},
{
"field_value_factor": {
"field": "likes",
"modifier": "log2p",
"factor": 0.1
}
}
]
}
}
}

关于boost - 使用ElasticSearch的无限制值的衰减过滤器功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26175407/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com