gpt4 book ai didi

elasticsearch - 使用function_score时如何向弹性查询添加过滤器?

转载 作者:行者123 更新时间:2023-12-03 00:45:23 24 4
gpt4 key购买 nike

这是我当前的 flex 查询:

{
"from": 0,
"size": 10,
"query": {
"function_score": {
"query": {
"bool": {
"must": [{
"multi_match": {
"query": "ocean",
"fields": [],
"fuzziness": "AUTO"
}}],
"must_not": [{
"exists": {
"field": "parentId"
}
}]
}
},
"functions" : [
{
"gauss": {
"createTime": {
"origin": "2020-07-09T23:50:00",
"scale": "365d",
"decay": 0.3
}
}
}
]
}
}
}
如何正确地为此添加 过滤器?我认为我使用 function_score的事实可能会有所不同吗?我想添加一个硬过滤器,例如,仅显示 uploadUser: 'Mr. Bean'的结果...,但仍将通过该过滤器的结果的评分保持在适当的位置。
我尝试在不同的地方使用 filter,也使用 must,但是我没有得到结果或得到了所有结果。
我正在使用Elastic Search7。谢谢您的帮助

最佳答案

您可以在搜索查询中尝试以下方法:
请参阅此ES官方documentation以了解有关功能分数查询的更多信息

    {
"from": 0,
"size": 10,
"query": {
"function_score": {
"query": {
"bool": {
"filter": {
"term": {
"uploadUser": "Mr. Bean"
}
},
"must": [
{
"multi_match": {
"query": "ocean",
"fields": [

],
"fuzziness": "AUTO"
}
}
],
"must_not": [
{
"exists": {
"field": "parentId"
}
}
]
}
},
"functions": [
{
"gauss": {
"createTime": {
"origin": "2020-07-09T23:50:00",
"scale": "365d",
"decay": 0.3
}
}
}
]
}
}
}

关于elasticsearch - 使用function_score时如何向弹性查询添加过滤器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62917711/

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