我们有一个带有术语查找的弹性查询,在这里,我有大约20种颜色类型的ID被称为查找,因此该查询将有很多术语查找。字词查找的结果将是一个超过3000+的大列表
"query": {
"bool": {
"must": [
{
"bool": {
"should": [
{
"terms": {
"color": {
"type": "color",
"id": "2",
"path": "color"
}
}
},
{
"terms": {
"color": {
"type": "color",
"id": "3",
"path": "color"
}
}
}//..... 20 more term lookups........
}
]
}
}
]
}
}
由于术语查找可能会耗费大量资源,因此,我们可以有2个查询。第一个查询,通过一次查询从所有ID的颜色中获取数据。然后,带有条件的下一个查询会传递条件中的所有结果,从而使查询变得非常庞大。 我不确定这两种方法中的哪一种可用于大型数据集,从而具有更好的性能。有什么建议吗?