0%
Иконка ресурса

1-c Битрикс Модуль Модуль для работы с эластиком | bitrix_elastic 1.0.0

Нет прав для скачивания
Архив в формате
  1. Modules
Установка на хостинг
  1. Распаковать архив в папку bitrix/modules и установить из админ. панели сайта
Описание:

Модуль для работы с эластиком (Битрикс)

Основная идея в том, чтобы использовать данный модуль для построения высоконагруженного каталога товаров с использованием Elasticsearch.

Сейчас реализовано:
  • Установка/удаление модуля
  • Выборка документов по фильтру
  • Агрегации (планируется использование в умном фильтре)
  • Создание индекса и индексация
Бэклог:
  • Страница в админ. панели Битрикса для возможности формирования индекса по инфоблокам
Пример использования:

Код:
class ClothIndex extends Index
{
    public function indexName(): string
    {
        return 'cloth';
    }

    public function settings(): array
    {
        return [
            'settings' => [
                'index.max_result_window' => 500000,
                'index.max_inner_result_window' => 100000,
                'index.number_of_shards' => 1,
                'index.number_of_replicas' => 0,
            ],
            'mappings' => [
                'properties' => [
                    'cloth_id' => ['type' => 'keyword'],
                    'section_id' => ['type' => 'keyword'],
                    'code' => ['type' => 'text'],
                    'artnumber' => ['type' => 'text']
                ]
            ]
        ];
    }

    public function indexing(): void
    {
        $allElements = ... //Получаем элементы

        foreach (array_chunk($allElements, 100) as $elements) {
            $bulk = [];

            foreach ($elements as $element) {
                $bulk[] = ['index' => ['_id' => $element['ID']]];
                $bulk[] = json_encode([
                    'cloth_id' => $element['ID'],
                    'section_id' => $element['SECTION_ID'],
                    'code' => $element['CODE'],
                    'artnumber' => $element['ARTICLE']
                ]);
            }

            if ($bulk) {
                $this->bulk($bulk);
            }
        }
    }
}

Для создания индекса вызываем:

Код:
$index = new ClothIndex();
$index->create();

Для индексации вызываем

Код:
$index = new ClothIndex();
$index->indexing();
Автор NULLFORUM.RU
1.0.0 Версия
0 Скачивания
265 Просмотры
Первый выпуск
Обновление
0,00 звёзд 0 оценок

Похожие ресурсы

INTEC Ядро - базовый модуль для решений INTEC | intec.core NULLFORUM.RU
INTEC:Ядро - является базовым модулем и необходим для работы других решений INTEC.
Скачивания
37
Обсуждений
39
Обновлено
Модуль интернет-магазина для редакции Старт.
Скачивания
0
Обсуждений
0
Обновлено
Мибок Версия для слабовидящих (модуль на сайт) | mibok.glaza NULLFORUM.RU
Мибок Версия для слабовидящих (модуль на сайт) - профессиональное решение.
Скачивания
4
Обсуждений
2
Обновлено
Мибок Касса для сайта (платежный модуль) | mibok.pay NULLFORUM.RU
Модуль позволяет производить оплату на сайте с использованием платежной системы Яндекс Касса.
Скачивания
4
Обсуждений
6
Обновлено
Модуль генерации QR-кода для оплаты товаров и услуг на сайте | r52.qrcode NULLFORUM.RU
Скачивания
0
Обсуждений
0
Обновлено
Назад
Сверху