Я использую эластичный поиск на страницах с перечнем товаров и страницами поиска товаров для своего сайта электронной коммерции.Теперь вы хотите использовать эластичный поиск в фильтрации.При этом я могу принести соответствующие результаты в соответствии с моими фильтрами, но я не могу предоставить соответствующие элементы фильтра для конечного пользователя для результатов, которые я принес.Например;На моей странице перечисления продуктов есть 5 товаров 5 разных размеров и марок.Основываясь на этих 5 результатах продукта, я хотел бы получить список фильтров с соответствующими спецификациями бренда и размера.
Пример документа списка результатов эластичного поиска:
"_source" : {
"name" : "Product 1",
"manufacturer" : {
"manufacturer_id" : 1,
"manufacturer_name" : "Brand 1"
},
"attribute" : [
{
"attribute_id" : 1,
"text" : "Other product attribute"
},
{ // I want this array
"attribute_id" : 2,
"text" : "Size product attribute (L)"
}
]
}
"_source" : {
"name" : "Product 2",
"manufacturer" : {
"manufacturer_id" : 2,
"manufacturer_name" : "Brand 2"
},
"attribute" : [
{
"attribute_id" : 1,
"text" : "Other product attribute"
},
{ // I want this array
"attribute_id" : 2,
"text" : "Size product attribute (XL)"
}
]
}
Согласно этому сопоставлению, естьбудет 5 разных серий продукции и производителя.Как я могу получить их следующим образом?
"facets" : {
"manufacturers" : [
{
"manufacturer_id" : 1,
"manufacturer_name" : "Brand 1",
"count" : 1
},
{
"manufacturer_id" : 2,
"manufacturer_name" : "Brand 2",
"count" : 1
}
],
"attributes" : [
{ // I want this array
"attribute_id" : 2,
"text" : "Size product attribute (L)",
"count" : 1
},
{ // I want this array
"attribute_id" : 2,
"text" : "Size product attribute (XL)",
"count" : 1
}
]
}
Заранее спасибо за вашу поддержку.