在一个字段中建模多个关键字

Modelize multiple keywords in one field

我有一些产品想在 elasticsearch 系统中建立索引。 描述这些产品的字段之一是颜色。例如:

我的一些产品可以有两种或更多颜色。

稍后,我想在此字段上使用分面(聚合)。而且,如果我理解正确的话,您需要将构面基于 "keyword" 类型。所以我希望做这样的事情:

PUT products/product/1
{
  "name": "Trousers",
  "colour": "blue, brown",
}

但是,据我所知,我在这里所做的是创建一个新关键字 "blue, brown",而不是将两个关键字附加到我的产品。

那么,如何将多个关键词输入到一个关键词字段中呢?或者我应该使用其他方法?

Q: So, how do you input several keywords into one keyword field?

A: I would store the values in an array that is of type keyword.

您可以像这样为您的文档编制索引:

PUT products/product/1
{
  "name": "Trousers",
  "colour": ["blue", "brown"]
}