gpt4 book ai didi

python - 方面,并根据方面进行一些过滤

转载 作者:行者123 更新时间:2023-12-03 01:19:21 28 4
gpt4 key购买 nike

我对构面有疑问,并根据构面进行了一些过滤。
我知道这是一个重复的问题,但我找不到答案。

我想知道如何在 flex 搜索中实现相同的功能。

假设我有一个有关汽车和某些方面的索引-例如模型和
颜色。

颜色

[]红色(10)

[]蓝色(5)

[]绿色(2)

模型

[]宝马(4)

[]大众(5)

[]福特(8)

如果我选择一个模型,则只想获得该模型的颜色面,
但我仍然想了解所有型号的产品。例如:

颜色

[]红色(2)

[]蓝色(2)

[]绿色(1)

模型

[]宝马(4)

[x]大众(5)

[]福特(8)

我搜索过我没有找到有关此用例的示例。这是
可能,如果可以,如何过滤查询以获得这些结果?

亲切的问候

最佳答案

我敢肯定,这里已经多次回答了,但让我们举一个具体的例子。

创建一个索引

PUT lalit
{
"mappings": {
"properties": {
"model": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword"
}
}
},
"color": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword"
}
}
}
}
}
}

摄取一些文档
POST lalit/_doc
{"color":"red","model":"bmw"}
POST lalit/_doc
{"color":"blue","model":"bmw"}
POST lalit/_doc
{"color":"red","model":"vw"}
POST lalit/_doc
{"color":"green","model":"vw"}
POST lalit/_doc
{"color":"blue","model":"ford"}

应用 terms agg + filter terms agg的组合
GET lalit/_search
{
"size": 0,
"aggs": {
"all_models": {
"terms": {
"field": "model.keyword"
}
},
"all_colors": {
"terms": {
"field": "color.keyword"
}
},
"model_filtered_colors": {
"filter": {
"term": {
"model.keyword": "vw"
}
},
"aggs": {
"actual_aggs": {
"terms": {
"field": "color.keyword"
}
}
}
}
}
}

屈服
"aggregations" : {
"model_filtered_colors" : {
"doc_count" : 2,
"actual_aggs" : {
"doc_count_error_upper_bound" : 0,
"sum_other_doc_count" : 0,
"buckets" : [
{
"key" : "green",
"doc_count" : 1
},
{
"key" : "red",
"doc_count" : 1
}
]
}
},
"all_models" : {
"doc_count_error_upper_bound" : 0,
"sum_other_doc_count" : 0,
"buckets" : [
{
"key" : "bmw",
"doc_count" : 2
},
{
"key" : "vw",
"doc_count" : 2
},
{
"key" : "ford",
"doc_count" : 1
}
]
},
"all_colors" : {
"doc_count_error_upper_bound" : 0,
"sum_other_doc_count" : 0,
"buckets" : [
{
"key" : "blue",
"doc_count" : 2
},
{
"key" : "red",
"doc_count" : 2
},
{
"key" : "green",
"doc_count" : 1
}
]
}
}
model_filtered_colors通过颜色为您提供所有 vw,而其他2种聚合则为您提供全面的总计(不包括 vw过滤器)。

关于python - 方面,并根据方面进行一些过滤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61014867/

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