gpt4 book ai didi

elasticsearch - 将搜索结果缩小到多个类别

转载 作者:行者123 更新时间:2023-12-02 23:31:44 26 4
gpt4 key购买 nike

我正在尝试将搜索结果的范围缩小到任何给定类别内。
我的搜索主体可用于Elasticsearch 2.2.0

{
"filter":{
"bool":{
"should":[
{
"match":{
"categories":"16310211"
}
},
{
"match":{
"categories":"493964"
}
}
]
}
},
"size":25,
"from":0
}

但是,现在我们正在使用AWS托管服务,它们仅提供对1.5.6的支持。当我运行相同的代码时,我收到一个HTTP 400错误请求。如何在1.5.6上通过多个条件(一个或多个)来达到过滤结果的相同效果?

最佳答案

如果您 promise 使用多个match查询,则需要将它们与bool 查询结合使用。试试这个:

{
"query":{ <--- use query here instead of filter
"bool":{
"should":[
{
"match":{
"categories":"16310211"
}
},
{
"match":{
"categories":"493964"
}
}
]
}
},
"size":25,
"from":0
}

但是,通常 match查询用于进行全文搜索。看来您的“类别”是精确值。我建议为这种类型的数据使用 term过滤器。您可能在以下方面有更好的体验:
{
"query":{
"filtered":{
"filter":{
"bool":{
"should":[
{ "term":{"categories":"16310211"} },
{ "term":{"categories":"493964"} }
]
}
}
}
},
"size":25,
"from":0
}

关于elasticsearch - 将搜索结果缩小到多个类别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35664220/

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