208 похожих чатов

Здравствуйте, подскажите пожалуйста. У меня есть инфоблок с товарами, в нем

есть 2 нужных мне свойства: Коллекция и Второе свойство

На основе этого мне необходимо собрать массив вида Название коллекции => [список значений второго свойства, которое встречается с этой коллекцией]

Дело в том что товаров 190 тысяч. Я боюсь что если запущу такой скрипт, то сервер упадет. Можно ли это как то делать пошагово, если да, то как. Или может будут какие то ещё советы?

Спасибо

23 ответов

23 просмотра

Массив собрать где и для чего?

Alice-NotDB Автор вопроса
Itachi Vergil
Массив собрать где и для чего?

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

Alice NotDB
Для того чтобы на основе этого массива перезаписат...

Изначально вижу какие-то странные манипуляции непонятно зачем. если запускать скрипт с постраничной обработкой сайт не упадёт. но я бы послушал ещё какую задачу хочется решить такими манипулциями. во-первых я не очень понял какие значения свойств куда требуется перезаписать, и зачем всё это. Пока звучит как попытка переизобрести хайлоад блок и свойство типа "справочник"

Alice-NotDB Автор вопроса
Itachi Vergil
Изначально вижу какие-то странные манипуляции непо...

Максимально просто: Есть каталог товаров. У него есть строковые свойства. В одном свойстве хранится название коллекции. Другое свойство, ну, к примеру "Материал" содержит соответственно название материала. Мне нужно знать какие виды материалов содержит каждая из коллекций в каталоге товаров, для того чтобы дать такие же значения такому же свойству в инфоблоке с коллекциями. Для фильтрации. Структуру имеющихся данных мне менять нельзя, только лепить сверху.

Alice NotDB
Максимально просто: Есть каталог товаров. У него...

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

Alice-NotDB Автор вопроса
Itachi Vergil
а вы подумали что будет когда в товары добавится н...

да, поэтому это будет либо на крон событии либо на событии выгрузки каталога

Alice NotDB
да, поэтому это будет либо на крон событии либо на...

звучит как костыль. ну если хочется - делайте. снизить нагрузку можно постраничным вызовом элементов. но не уверен что это сильно поможет решить задачу

Alice-NotDB Автор вопроса
Itachi Vergil
звучит как костыль. ну если хочется - делайте. сни...

1 свойство я привела в пример, но если этих свойств будет 40 например, то создавать хайлоады и доп. инфоблоки может стать проблемой

Alice NotDB
1 свойство я привела в пример, но если этих свойст...

по описанию задачи (фильтр в разделе коллекций) можно ещё просто фильтр самостоятельно оформить чтобы не было дополнительных свойств. чтобы сам фильтр собирал эти значения и хранил где-то в кеше или отдельной бд, или json-файлике

Alice-NotDB Автор вопроса
Itachi Vergil
звучит как костыль. ну если хочется - делайте. сни...

знаю что звучит как костыль, это он и есть, я просто не вижу других вариантов в текущих условиях 😭 чтобы фильтр собирал эти значения и организовывается все, но что вы именно подразумеваете под "фильтр собирал" я не совсем поняла, мне нужно один раз оформить автоматизированный скрипт для дальнейшей его работы без моего участия

Alice NotDB
знаю что звучит как костыль, это он и есть, я прос...

ну есть компонент битрикса - умный фильтр. у него есть шаблон. шаблон можно кастомизировать таким образом, чтобы при вызове компонента происходил запрос к этим свойствам, значения оформлялись в понятную и подходящую структуру, записывались в какой-то кеш, и далее, если не было изменений каталога/свойств, брал данные из этого кеша. и тогда в фильтре будут выводиться нужные строки свойств. но это на деле не так просто как выглядит на словах

Alice-NotDB Автор вопроса
Itachi Vergil
ну есть компонент битрикса - умный фильтр. у него ...

инфоблоки никак не связаны друг с другом, значения просто строки, тогда надо и выгрузку корректировать для того чтобы хоть какая то привязка была

Alice NotDB
инфоблоки никак не связаны друг с другом, значения...

не понимаю при чём тут связь инфоблоков и выгрузка. вот возьмём для примера ламоду. вот слева фильтр. это выводится на страницу компонентом умный фильтр. его шаблон можно исправить и выводить по своему алгоритму параметры этого фильтра

Alice-NotDB Автор вопроса
Itachi Vergil
screenshot не понимаю при чём тут связь инфоблоков и выгрузка...

ну, каким то образом работать со сгенерированными фасетными индексами вы предлагаете?

Alice NotDB
ну, каким то образом работать со сгенерированными ...

у инфоблока "коллекции" есть сейчас свойство материал?

Alice NotDB
Максимально просто: Есть каталог товаров. У него...

Делаете пошаговку по инфоблоку коллекций. Ищите товары по колекции. Затем по их id подымаете нужно свойство товаров. Для поддержания актуальности есть события изменения значений свойств, вешайтесь на них.

Alice-NotDB Автор вопроса
Eugene Zhukov
Делаете пошаговку по инфоблоку коллекций. Ищите то...

звучит довольно гениально, спасибо большое ❤️❤️❤️

Eugene Zhukov
Делаете пошаговку по инфоблоку коллекций. Ищите то...

интересно что будет если сделать группировку по элементам коллекция, материал :) вроде хватает тяжело для базы понятно... но может там делов то пару секунд запросу

Eugene Zhukov
(голосом Шелдона) Сарказм?

в общем идея получить хеш таблицу в кеш (коллекция - материалы) и после просто сортировкой по ид пройтись по товарам пошаговым агентом например

Alice NotDB
нет

попробуй группировку, скорее всего 3-10 секунд операция обновления займет... если коллекций не десятки тысяч

Похожие вопросы

Обсуждают сегодня

Мужики и девушки, привет) в Вelphi xe7 в настройках во вкладке "Editor Options" далее " Color" есть список: "Elements", открыв который мы можем настраивать отображение разных...
Kraszx
14
Добрый вечер. Есть вопрос, а может и предложение. Был у меня диалог в другой группе о делфи и я задался вопросом: "А нельзя ли в делфи цвет //коментария и {комментария} сде...
Kraszx
24
Я вот подумал. SSE выполняет операции максимум с 64-битной точностью. А FPU - всегда с 80-битной. Разве не должно быть FPU точнее тогда?
The Bird of Hermes
13
как быть с принтером? такой подход прокатит?
zamtmn
12
Мдя, прикол, боевая сборка запускается (именно под отладчиком) после F9 примерно полторы минуты (97 секунд если быть точным). Начал копать - проблема детектится сразу - зависа...
Александр (Rouse_) Багель
38
Всем привет! Подскажи, пожалуйста, как передать в TComboBox сразу значение и id записи. На Delphi я делал так: ComboBox1.Items.AddObject('Какое-то значение', Pointer(id запис...
Евгений
13
Здравствуйте, вопрос по структурам данных. Были у вас случаи, когда пришлось писать деревья или двунаправленные списки?
/ /
50
Я не понимаю, это троллинг или что? Швабрика поддерживают, который буквально пишет на ассемблере взаимодействия с винапи. Я это ещё написал загрузчик и хоть что-то изучаю в о...
Shadow Akira
6
А вот это что за конструкция? Вернее, она тут нафига?
Serjone
10
Привет. Подскажите, как правильно сматчить лист фиксированного размера, чтобы компилятор не говорил мне о неполном паттерне? Допустим что-то такое [x', y'] = sort [x, y]?
Arseny
8
Карта сайта