Поиск по Solr — Подсчет ценового диапазона по минимальной цене набора продуктов для каждого продукта

#solr #range #facet

Вопрос:

Мне нужно создать запрос solr для ценовых диапазонов по минимальным ценам набора продуктов для каждого продукта.

Мы можем легко сделать диапазон фасетов с помощью такого ценового поля, как это:

 "facet":{
        "price":{
            "type":"range",
            "field":"price",
            "start":0,
            "end":"2000",
            "gap":"500",
            "other":"after"
      }
}
 

Но здесь требуется, чтобы мы сравнили цену с минимальной ценой набора подходящих продуктов. Это означает, что для продукта с идентификатором 1000 будет n совпадающих продуктов(скажем, идентификаторы продуктов 1001 1002, 1003 и т. Д.). Для каждого продукта нам нужно сравнить его с минимальной ценой этих подходящих продуктов.

Например, приведенный ниже запрос возвращает минимальную цену соответствующих товаров:

     "query":"_text_:*",
    "offset":0,
    "limit":0,
    "filter":["tagmacthedid:585200 || tagmacthedid:585226 || tagmacthedid:1197970"],
    "facet":{
         prices585226: {
                type: query,
                q: "tagmacthedid:585226",
                facet: {
                    price_min:"min(price)",
                    price_max:"max(price)"
                },
                
        },
         prices585200: {
                type: query,
                q: "tagmacthedid:585200",
                facet: {
                    price_min:"min(price)",
                    price_max:"max(price)"
                },
                
        }
    }
}
 

Это возвращает результирующий набор:

 "facets": {
        "count": 18,
        "prices585226": {
            "count": 14,
            "price_min": 49.0,
            "price_max": 2999.0
        },
        "prices585200": {
            "count": 4,
            "price_min": 175.0,
            "price_max": 1075.0
        }
    }

 

Но проблема в том, что нам нужно получить диапазон подсчета цен на основе минимальной цены (соответствующих продуктов(tagmacthedid) для продукта).

Пожалуйста, дайте мне знать, если у вас есть идея решить эту проблему.

Комментарии:

1. Я не совсем уверен, каким вы хотите видеть конечный результат / чем он отличается от запроса, который вы показали. Может ли вам помочь анализатор запросов статистики?