gpt4 book ai didi

elasticsearch - 同一字段的 Elasticsearch 多个过滤器值

转载 作者:行者123 更新时间:2023-12-04 13:24:10 24 4
gpt4 key购买 nike

假设我必须在 Elastic Search Index (ES 7.15) 中过滤汽车构造函数,其中字段 car_maker映射到 keyword ,在汽车制造商字符串名称中具有有限数量的可能性:

{
"mappings": {
"properties": {
"car_maker": {
"type": "keyword"
}
}
}
}

GET /cars/_search
{

"query": {
"bool": {
"filter": [{
"term": {
"car_maker": "Honda"
}
}]
}
}
}
这与匹配的查询一起可以正常工作。 filter不会按要求参与评分计算。
现在我想为该查询过滤更多汽车制造商(假设是 should 查询):
{
"query": {
"bool": {
"filter" : [
{"term" : { "car_maker" : "Honda"}},
{"term" : { "car_maker" : "Ferrari"}}
]
}
}
}
这是行不通的。 ES查询引擎会出现任何错误,但也会有任何结果。当然总是可以将更多过滤器应用于不同的领域,如 car_makercar_color ,但如何做相反的事情:将更多值( HondaFerrari 等)应用于相同的过滤器字段 car_maker像上面的例子一样,没有调节分数计算?

最佳答案

您可能想尝试以下过滤器查询:

{
"query" : {
"bool" : {
"filter" : {
"terms" : {
"car_maker" : ["Honda", "Ferrari"]
}
}
}
}
}

关于elasticsearch - 同一字段的 Elasticsearch 多个过滤器值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69677413/

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