elasticsearch фильтрация если два поля зависят друг от друга

Всем привет!

Переделываю фильтр интернет магазина на elasticsearch, разобрался с фильтрацией по основным параметрам, все работает, но столкнулся с проблемой сопоставления цен и объемов памяти: У каждого товара, может быть несколько цен, в зависимости от объема памяти, то есть на 32gb стоит 1000, на 64gb - 2000 и тд. Сейчас индекс выглядит так:

{
  "_index" : "nss",
  "_type" : "_doc",
  "_id" : "10",
  "_version" : 1,
  "_seq_no" : 3,
  "_primary_term" : 1,
  "found" : true,
  "_source" : {
    "id" : "10",
    "sort" : "10",
    "title" : "3G ssc dot",
    "category_id" : "1",
    "sku" : "89456",
    "color" : [
      "red",
      "blue",
      "Black"
    ],
    "screen_resolution" : "1920x1080",
    "akb" : "LiPo",
    "32gb" : 5300.0,
    "64gb" : 6200.0,
    "128gb" : 7000.0,
    "256gb" : 8100.0
    }
}

Думал переделать в такой вид, но тоже не могу найти как как работать с таким индексом:

{
  "_index" : "nss",
  "_type" : "_doc",
    ...
    "akb" : "LiPo",
    "memory" : [
        {
        "size" : "32gb",
        "price" :  5300.0
        },
        {
        "size" : "64gb",
        "price" :  6200.0
        },
        {
        "size" : "128gb",
        "price" :  7000.0
        },
        {
        "size" : "256gb",
        "price" :  8100.0
        }
    ]
    }
}

может кто что подскажет, вроде как стандартный функционал для интернет магазина


Ответы (0 шт):