- 在elasticsearch v7中,负面增强(negative boost)被更名为负面查询(negative query)。 因此,你需要更新你的代码,使用新的负面查询名称。
- 在elasticsearch v7中,你需要使用bool查询来组合正面查询和负面查询。例如,以下代码展示如何使用bool查询和负面查询进行搜索:
GET /_search
{
"query": {
"bool": {
"must": [
{ "match": { "title": "Search" }}
],
"must_not": [
{ "match": { "description": "Elasticsearch" }}
]
}
}
}
在上面的代码中,正面查询为“title”字段包含“Search”,而负面查询为“description”字段不包含“Elasticsearch”。
- 如果你之前使用了“boost”参数来对查询结果进行排名,现在可以使用“score_boost”参数。 例如,以下代码展示如何对包含“Search”但不包含“Elasticsearch”的文档进行搜索,并将结果按“hits”字段进行排名:
GET /_search
{
"query": {
"bool": {
"must": [
{ "match": { "title": "Search" }}
],
"must_not": [
{ "match": { "description": "Elasticsearch" }}
]
}
},
"sort": [
{ "hits": { "order": "desc", "score_boost": 5 }}
]
}
在上面的代码中,我们使用“score_boost”参数将hits的得分增加了5倍。