gpt4 book ai didi

elasticsearch - 增强查询,从文档复制

转载 作者:行者123 更新时间:2023-12-03 01:06:41 25 4
gpt4 key购买 nike

我正在尝试创建像documentation中所示的提升查询
但是当我尝试

{
"query": {
"match_all":{}
},
"boosting": {
"positive": {
"term": {
"is_job_seeking": 1
}
},
"negative": {
"term": {
"is_job_seeking": 0
}
}
},
"negative_boost" : 0.2
}

它不起作用,我得到了错误
error: SearchPhaseExecutionException[Failed to execute phase [query], all shards failed;
shardFailures {[bP7jZnVHSRu83G30B0uSmw][idx_users_all_backup_dev][0]:
SearchParseException[[idx_users_all_backup_dev][0]: from[-1],size[-1]:
Parse Failure [Failed to parse source [
{
"boosting": {
"positive": {
"term": {
"field1":"value1"
}
},
"negative": {
"term": {
"field2":"value2"
}
},
"negative_boost":0.2
}
}
]]];
nested: SearchParseException[[idx_users_all_backup_dev][0]: from[-1],size[-1]:
Parse Failure [No parser for element [boosting]]]; }{[bP7jZnVHSRu83G30B0uSmw][idx_users_all_backup_dev][1]:
SearchParseException[[idx_users_all_backup_dev][1]: from[-1],size[-1]:
Parse Failure [Failed to parse source [
{
"boosting": {
"positive": {
"term": {
"field1":"value1"
}
},
"negative": {
"term": {
"field2":"value2"
}
},
"negative_boost":0.2
}
}
]]];
nested: SearchParseException[[idx_users_all_backup_dev][1]: from[-1],size[-1]:
Parse Failure [No parser for element [boosting]]]; }{[bP7jZnVHSRu83G30B0uSmw][idx_users_all_backup_dev][2]:
SearchParseException[[idx_users_all_backup_dev][2]: from[-1],size[-1]:
Parse Failure [Failed to parse source [
{
"boosting": {
"positive": {
"term": {
"field1":"value1"
}
},
"negative": {
"term": {
"field2":"value2"
}
},
"negative_boost":0.2
}
}
]]]; nested: SearchParseException[[idx_users_all_backup_dev][2]: from[-1],size[-1]:
Parse Failure [No parser for element [boosting]]]; }{[bP7jZnVHSRu83G30B0uSmw][idx_users_all_backup_dev][3]:
SearchParseException[[idx_users_all_backup_dev][3]: from[-1],size[-1]:
Parse Failure [Failed to parse source [
{
"boosting": {
"positive": {
"term": {
"field1":"value1"
}
},
"negative": {
"term": {
"field2":"value2"
}
},
"negative_boost":0.2
}
}
]]]; nested: SearchParseException[[idx_users_all_backup_dev][3]: from[-1],size[-1]:
Parse Failure [No parser for element [boosting]]]; }{[bP7jZnVHSRu83G30B0uSmw][idx_users_all_backup_dev][4]:
SearchParseException[[idx_users_all_backup_dev][4]: from[-1],size[-1]:
Parse Failure [Failed to parse source [
{
"boosting": {
"positive": {
"term": {
"field1":"value1"
}
},
"negative": {
"term": {
"field2":"value2"
}
},
"negative_boost":0.2
}
}
]]];
nested: SearchParseException[[idx_users_all_backup_dev][4]: from[-1],size[-1]:
Parse Failure [No parser for element [boosting]]]; }]
status: 400

我也尝试添加 explain: true,但是它没有给我任何有关查询错误的额外信息。

编辑
我已经写过这样的查询
{
"sort": [
{
"is_active": "asc"
}
],
"fields": [
"is_job_seeking", "is_active"
],
"query": {
"bool": {
"must": [
{
"bool": {
"must": {
"term": {
"is_job_seeking": 1
}
}
}
},
{
"boosting": {
"positive": {
"term": {
"is_active": 1
}
},
"negative": {
"term": {
"is_active": 0
}
},
"negative_boost": 0.3
}
}
]
}
}
}

这个查询给了我1000个结果,但是没有 is_active=0的文档,当我删除 boosting部分时,我用文档 is_active=0纠正了结果

最佳答案

您的查询应如下所示:

{
"query": {
"boosting": {
"positive": {
"term": {
"is_job_seeking": 1
}
},
"negative": {
"term": {
"is_job_seeking": 0
}
},
"negative_boost": 0.2
}
}
}

bool:
{
"query": {
"bool": {
"should": [
{
"term": {
"text": {
"value": "something"
}
}
},
{
"boosting": {
"positive": {
"term": {
"is_job_seeking": 1
}
},
"negative": {
"term": {
"is_job_seeking": 0
}
},
"negative_boost": 0.2
}
}
]
}
}
}

关于elasticsearch - 增强查询,从文档复制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27962235/

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