Я настраиваю сервер Solr для приложения электронной коммерции.Я кормить некоторые основанные на продукте данные из MySQL.Существует столбец для атрибутов товара в формате JSON (например, цвет, размер, категория и т. Д.).Эти атрибуты могут отличаться для каждого продукта.Если пользователь ищет определенный товар, мне нужно указать, какие атрибуты доступны, сгруппировав их.
Я пробовал этот аспект для группировки атрибутов размера и цвета, но получил пустой результат
curl http://localhost:8983/solr/product/query -d 'q=category:Bat& json.facet=
{
color:{
domain:{blockChildren:"sport:Cricket"},
type:terms,
field:brand,
limit:-1,
facet:{
productsCount:"uniqueBlock(_root_)"
}
},
size:{
domain:{blockChildren:"sport:Cricket"},
type:terms,
field:category,
limit:-1,
facet:{
productsCount:"uniqueBlock(_root_)"
}
}
}'
Это формат данных на моем сервере Solr
{
"responseHeader":{
"status":0,
"QTime":0,
"params":{
"q":"*:*",
"rows":"5",
"_":"1554295310310"}},
"response":{"numFound":27648,"start":0,"docs":[
{
"sport":["Cricket"],
"ProductSearch":["Cricket",
"Glove",
"Cricket",
"Adidas"],
"id":"1",
"quantity":"13",
"_version_":1629796764691202048,
"name":"Cricket",
"category":"Glove",
"brand":"Adidas",
"specifications":"{\"id\": 1, \"Size\": \"S\", \"Type\": \"Batting Glove\"}"},
{
"sport":["Cricket"],
"ProductSearch":["Cricket",
"Pad",
"Cricket",
"Nivia"],
"id":"2",
"quantity":"54",
"_version_":1629796764715319296,
"name":"Cricket",
"category":"Pad",
"brand":"Nivia",
"specifications":"{\"id\": 2, \"Size\": \"S\", \"Type\": \"Batting Glove\"}"},
{
"sport":["Cricket"],
"ProductSearch":["Cricket",
"Bat",
"Cricket",
"Adidas"],
"id":"3",
"quantity":"48",
"_version_":1629796764716367872,
"name":"Cricket",
"category":"Bat",
"brand":"Adidas",
"specifications":"{\"id\": 3, \"Size\": \"S\", \"Cover\": \"Without Cover\", \"Age Group\": \"5-8 Years\", \"Bat Grade\": \"B\", \"Willow Type\": \"Kashmir Willow\", \"Playing Level\": \"Intermediate\"}"},
{
"sport":["Batminton"],
"ProductSearch":["Batminton",
"Racket",
"Batminton",
"Butterfly"],
"id":"4",
"quantity":"58",
"_version_":1629796764717416448,
"name":"Batminton",
"category":"Racket",
"brand":"Butterfly",
"specifications":"{\"id\": 4, \"Grip Size\": \"Short grip\", \"Ideal For\": \"Women\", \"Cover Type\": \"Halfly Covered\", \"Strung Type\": \"With Strung\", \"Playing Level\": \"Intermediate\"}"},
{
"sport":["Cricket"],
"ProductSearch":["Cricket",
"Gaurd",
"Cricket",
"MRF"],
"id":"5",
"quantity":"50",
"_version_":1629796764717416449,
"name":"Cricket",
"category":"Gaurd",
"brand":"MRF",
"specifications":"{\"id\": 5, \"Size\": \"S\", \"Type\": \"Batting Glove\", \"Ideal For\": \"Women\"}"}]
}}
(Ех). Если пользователь ищет крикетную биту, тогда мне нужно использовать фильтр, как показано ниже
Brand
Adidas(5)
DSC(3)
Puma(19),
Size
Size-S(4)
Size-M(20)
Size-L(30)