首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Elastic在webshop中进行分面搜索

使用Elastic在webshop中进行分面搜索
EN

Stack Overflow用户
提问于 2017-10-18 17:53:06
回答 2查看 176关注 0票数 0

我在Elastic中见过一些关于分面搜索的例子,但它们都事先知道你想要创建哪些字段。

当我有一个具有多个类别的网络商店,其中每个类别的值的属性都不同时,我应该如何工作?

有没有一种方法来描述当你运行查询时你的文档有什么属性(例如按类别过滤)?

我现在有这样的疑问:

代码语言:javascript
复制
{
   "from" : 0, "size" : 10,
   "query": {
        "bool" : {
            "must" : [
              { "terms": {"color": ["red", "green", "purple"]} },
              { "terms": {"make": ["honda", "toyota", "bmw"]} }
            ]
        }
   },
   "aggregations": {
     "all_cars": {
         "global": {},
         "aggs": {
              "colors": {
                "filter" : { "terms": {"make": ["honda", "toyota", "bmw"]} },
                "aggregations": {
                    "filtered_colors": { "terms": {"field": "color.keyword"} }
                }
              },
              "makes": {
                "filter" : { "terms": {"color": ["red", "green"]} },
                "aggregations": {
                    "filtered_makes": { "terms": {"field": "make.keyword"} }
                }
              }
          }
      }
   }
}

我如何知道我可以在哪些字段上进行聚合。在运行查询之后,有没有一种方法来描述文档的属性?这样我就可以知道可以聚合的字段是什么。

EN

回答 2

Stack Overflow用户

发布于 2017-10-18 21:37:59

现在,我将文章的所有属性存储在一个数组中,我可以像这样快速地聚合它们:

代码语言:javascript
复制
{
  "size": 0,
  "aggregations": {
    "array_aggregation": {
      "terms": {
        "field": "properties.keyword",
        "size": 10
      }
    }
  }
}

这是朝着正确方向迈出的一步,但这样我就不知道属性的类型是什么了。

下面是一个示例对象

代码语言:javascript
复制
            "price": 10000,
            "color": "red",
            "make": "honda",
            "sold": "2014-10-28",
            "properties": [
                "price",
                "color",
                "make",
                "sold"
            ]
票数 1
EN

Stack Overflow用户

发布于 2017-10-18 18:02:46

你可以使用过滤器聚合,它将过滤,然后在里面创建一个术语聚合?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46807393

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档