2017-01-06 2 views
0

Я пытаюсь достичь чего-то похожего на this.Почему мы получаем несколько частей?

Я не понимаю, почему есть два inStock [count = 8 и count = 4]. Почему они не могут объединяться и возвращаться как единственный объект json?

  1. В чем причина?
  2. Есть ли способ объединить его?

Предложения Ans?

{ 
"field": "cat", 
    "value": "electronics", 
    "count": 12, 
    "pivot": [ 
    { 
     "field": "inStock", 
     "value": true, 
     "count": 8, 
     "stats": { 
     "stats_fields": { 
      "price": { 
      "min": 74.98999786376953, 
      "max": 399.0 
      } 
     } 
     } 
    }, 
    { 
     "field": "inStock", 
     "value": false, 
     "count": 4, 
     "stats": { 
     "stats_fields": { 
      "price": { 
      "min": 11.5, 
      "max": 649.989990234375 
      } 
     } 
     } 
    } 
    ], 
    "stats": { 
    "stats_fields": { 
     "price": { 
     "min": 11.5, 
     "max": 649.989990234375 
     } 
    } 
    } 
} 

ответ

0

Поскольку вы дали кошку, Instock поле для facet.pivot

Ex: кот = [электроника, валюта] Instock = True или Ложь

Согласно вашему примеру рассмотрит вы имеете сказать 16 продуктов 12 являются электроника и 4, связанные с валютой

для каждой категории это проверить сколько Instock = истина и Instock = False

"field": "cat", 
    "value": "electronics", 
    "count": 12, 
    pivot": [ 
     { 
      "field": "inStock", 
      "value": true, 
      "count": 8, 
      "stats": { 
      "stats_fields": { 
       "price": { 
       "min": 74.98999786376953, 
       "max": 399.0 
       } 
      } 
      } 
     }, 
     { 
      "field": "inStock", 
      "value": false, 
      "count": 4, 
      "stats": { 
      "stats_fields": { 
       "price": { 
       "min": 11.5, 
       "max": 649.989990234375 
       } 
      } 
      } 
     } 
     ], 

из 12 электронных продуктов 8 inStock = True и 4 inStock = False.

Возможно, вы указали цену за поле статистики. поэтому он дает максимальные и минимальные значения цен во всех категориях cat [electronics, currency] и inStock [True или False].

в вашем случае изделия электроники, которые находятся в каталоге = True (8 изделия). из 8 цены дорожит с максимальным значением и минимальным значением т.е.

"min": 74.98999786376953, 
"max": 399.0 

также он дает максимальные и минимальные значения во всех электронных продуктов, которые Instock = False (4 модели), т.е.

"min": 11.5, 
    "max": 649.989990234375 

это дает одинаковая статистика для оставшейся категории.

+0

Просто дайте поле кошки для facet.pivot 'facet.pivot = cat', тогда вы получите статистику только на поле кошки, оно не будет показывать 8 и 4 статистики поля inStock. – vinod

+0

Получил то же самое. Благодарю. Выяснил это своими образцами. И ваш ответ заставил меня изменить свое предположение, чтобы ответить. –

Смежные вопросы