gpt4 book ai didi

database - Elasticsearch 合并查询

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

我是Elastic Search查询的新手,需要帮助。

我有一个包含4个字段的产品索引,比如diameterbrandpricemonth

我需要将所有带有diameter = 13的产品与所有带有brand = brandino的产品(无重复项)合并,并与所有带有price范围的100 to 1000的产品合并。并筛选出带有month != 10条件的产品。

在这种情况下,我的查询应如何显示?

最佳答案

用于1个字段搜索的简单查询,例如:

"query": {
"match": {
"brand": "brandino"
}
}

在您的情况下,您需要一个查询多个字段的查询,因此;您应该使用 bool,例如:
"query": {
"bool": {
"must": [
{
"match" :{
"diameter": 13
}
},
{
"match" :{
"brand": "brandino"
}
},
{
"range" :{
"price": {
"gte": 100,
"lte": 1000
}
}
}
]
}
}

进一步了解:
  • match查询。
  • range查询。

  • 此外,您应该注意 text字段,例如: brand可能映射为 keyword,这意味着您需要编写如下查询:
    "brand.keyword": "brandino"

    关于database - Elasticsearch 合并查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59454973/

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