多项查询与多项查询的性能

时间:2019-12-03 07:12:56

标签: elasticsearch

我们有一个带有术语查找的弹性查询,在这里,我有大约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的颜色中获取数据。然后,带有条件的下一个查询会传递条件中的所有结果,从而使查询变得非常庞大。 我不确定这两种方法中的哪一种可用于大型数据集,从而具有更好的性能。有什么建议吗?

0 个答案:

没有答案