我是ES的新手,并且一直在尝试以与大多数大型电子商务商店相同的方式实现分面导航.
我的部分产品映射如下所示:
'name' => [
'type' => 'string',
'analyzer' => 'english_analyzer',
],
'range' => [
'type' => 'string',
'analyzer' => 'english_analyzer',
],
'filters' => [
'type' => 'nested',
'properties' => [
'name' => [
'type' => 'string',
'index' => 'not_analyzed',
],
'values' => [
'type' => 'object',
'properties' => [
'name' => [
'type' => 'string',
'index' => 'not_analyzed',
]
]
]
]
],
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,我将facets作为嵌套对象存储在"filters"中.
在我的搜索查询中,我可以将此聚合添加到我的查询中:
'aggs' => [
'facets' => [
'nested' => ['path' => 'filters'],
'aggs' => [ …Run Code Online (Sandbox Code Playgroud)