-
Постов
181 -
Зарегистрирован
-
Посещение
-
Победитель дней
1
Тип контента
Профили
Форумы
Блоги
События
Галерея
Articles
Весь контент omega80
-
Содержимое файла описания #gigacommerce (Elasticsearch): # ai-elastic Aimeos ElasticSearch integration for #gigacommerce ## Support ElasticSearch versions * 7.x * 8.x ElasticSearch 5.x and 6.x are supported up to Aimeos 2020.10 LTS only. ## Configuration ### ElasticSearch server Add this to your Aimeos configuration file (Symfony requires YAML format) or without the `'resource'` key to your `resource.php` config file: ``` 'resource' => [ // if products are completely available in ES (products not in DB) 'es' => [ 'hosts' => [ '127.0.0.1:9200', ], 'index' => 'aimeos', 'SSLVerification' => false, // for self-signed certificates 'basicAuthentication' => ['elastic', '<password>'], // ElasticSearch 8+ 'selectorClass' => '\Elasticsearch\ConnectionPool\Selectors\StickyRoundRobinSelector', 'settings' => [ 'number_of_shards' => 5, // adapt to your needs 'number_of_replicas' => 0, // adapt to your needs 'max_result_window' => 10000, // maximum number of results retrieved // 'refresh_interval' => -1, // for initial indexing only ], // 'norefresh' => false, // for initial indexing only ], // if products from database are indexed in ES (products in DB and ES) 'es-index' => [ 'hosts' => [ '127.0.0.1:9200', ], 'index' => 'aimeos', 'SSLVerification' => false, // for self-signed certificates 'basicAuthentication' => ['elastic', '<password>'], // ElasticSearch 8+ 'selectorClass' => '\Elasticsearch\ConnectionPool\Selectors\StickyRoundRobinSelector', 'settings' => [ 'number_of_shards' => 5, // adapt to your needs 'number_of_replicas' => 0, // adapt to your needs 'max_result_window' => 10000, // maximum number of results retrieved // 'refresh_interval' => -1, // for initial indexing only ], // 'norefresh' => false, // for initial indexing only ], // if stock levels should be stored in ES (stock levels not in DB) 'es-stock' => [ 'hosts' => [ '127.0.0.1:9200', ], 'index' => 'aimeos_stock', 'SSLVerification' => false, // for self-signed certificates 'basicAuthentication' => ['elastic', '<password>'], // ElasticSearch 8+ 'selectorClass' => '\Elasticsearch\ConnectionPool\Selectors\StickyRoundRobinSelector', 'settings' => [ 'number_of_shards' => 5, // adapt to your needs 'number_of_replicas' => 0, // adapt to your needs 'max_result_window' => 10000, // maximum number of results retrieved // 'refresh_interval' => -1, // for initial indexing only ], // 'norefresh' => false, // for initial indexing only ] ] ``` For the number of shards, you should start with the number of CPUs of your server. As upper limit, each shard shouldn't contain much more than 50GB of data. If you have more than one ElasticSearch node, replicas are good for fault tolerance and can handle more search requests but are bad for initial indexing performance. You should better add replicas after your initial indexing is done. ### Using ElasticSearch To use ElasticSearch for index, product and stock data, add this to your Aimeos configuration file or without the `'mshop'` key to your `mshop.php` config file: ``` 'mshop' => [ 'index' => [ 'manager' => [ 'name' => 'Elastic', // Only if products are not in DB // 'name' => 'ElasticIndex', // If products exist in DB 'attribute' => [ 'name' => 'Elastic', ], 'catalog' => [ 'name' => 'Elastic', ], 'price' => [ 'name' => 'Elastic', ], 'supplier' => [ 'name' => 'Elastic', ], 'text' => [ 'name' => 'Elastic', ], ] ], // Only if products are not in DB 'product' => [ 'manager' => [ 'name' => 'Elastic', 'lists' => [ 'name' => 'Elastic', 'type' => [ 'name' => 'Elastic', ], ], 'property' => [ 'name' => 'Elastic', 'type' => [ 'name' => 'Elastic', ], ], 'type' => [ 'name' => 'Elastic', ], ] ], // Only if products are not in DB 'stock' => [ 'manager' => [ 'name' => 'Elastic', 'type' => [ 'name' => 'Elastic', ], ] ] ] ``` If you want to use ElasticSearch as secondary cache for the products in the mshop_product table, the `mshop/product/manager/elastic/only` must be set to `false` and only the index manager must be configured as `name => Elastic`. ### Additional configuration options These settings can be used to tune indexing speed: **mshop/index/manager/chunksize** (default: 10000): Number of documents sent to the ElasticSearch server in one index request during index rebuild. Higher values may result in faster indexing but requires more memory. **mshop/index/manager/elastic/maxchunks** (default: 20): Number of concurrent index requests sent to the ElasticSearch server at once. Higher values may result in faster indexing but requires more memory.
- 11 ответов
-
- gigacommerce
- elasticsearch
-
(и ещё 1 )
C тегом:
-
Инструкция для установки Elasticsearch вручную (на серверах в России): wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.17.1-amd64.deb wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.17.1-amd64.deb.sha512 shasum -a 512 -c elasticsearch-8.17.1-amd64.deb.sha512 sudo dpkg -i elasticsearch-8.17.1-amd64.deb Ссылка: установка Elasticsearch в Debain вручную
-
В нашем проекте используем систему из трех серверов, один из которых будет полностью под Эластикой. Данный тип сервера будет с произвольными мощностями и основной выбор мы сделаем в сторону объема ОЗУ - чем больше, тем лучше. Данные индексов система Elasticsearch хранит в RAM, благодаря чем и происходит моментальная обработка результата в больших объемах данных. Внимание: родной репозиторий Эластики заблокирован по IP для России. Необходимо либо использовать туннели, либо устанавливать пакет вручную, либо заводить сервер, например в Нидерландах, а после настройки перекинуть обратно на территорию России (поближе к основному серверу Aimeos). Процесс установки Elasticsearch: 1) Устанавливаем публичный ключ: wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo gpg --dearmor -o /usr/share/keyrings/elasticsearch-keyring.gpg 2) Устанавливаем пакет apt-transport-https: sudo apt-get install apt-transport-https 3) Добавляем адрес репозитория Elasticsearch: echo "deb [signed-by=/usr/share/keyrings/elasticsearch-keyring.gpg] https://artifacts.elastic.co/packages/8.x/apt stable main" | sudo tee /etc/apt/sources.list.d/elastic-8.x.list 4) Обновляем список репозиториев и устанавливаем Elasticsearch: sudo apt-get update && sudo apt-get install elasticsearch Внимание: после окончания установки не забудьте сохранить выводимый на экран терминала сгенерированный пароль для встроенного суперпользователя "elastic"! (либо в последствии мы можете поменять пароль командой "elasticsearch-reset-password") 5) После установки система оповещает вас: ### NOT starting on installation, please execute the following statements to configure elasticsearch service to start automatically using systemd sudo systemctl daemon-reload sudo systemctl enable elasticsearch.service ### You can start elasticsearch service by executing sudo systemctl start elasticsearch.service Поэтому необходимо последовательно отправить команды: sudo systemctl daemon-reload sudo systemctl enable elasticsearch.service sudo systemctl start elasticsearch.service Всё, на этом эластика установлена. Для проверки статуса системы: systemctl status elasticsearch.service Для проверки работоспособности можно дать команду: curl -k --user elastic:'ktNBdiTxO3hKqASVvHyu' https://127.0.0.1:9200 , где в кавычках пароль из вашей системы Далее можно переходить к настройкам под ваши нужды. Установка, запуск, перезапуск производится командами: sudo systemctl start elasticsearch.service sudo systemctl stop elasticsearch.service sudo systemctl restart elasticsearch.service
-
Замечательная и уникальная в своем роде система Elasticsearch. Позволяет обрабатывать огромные массивы индексов и в короткое время выдавать результат. В нашем проекте используется в качестве отдельного кэширующего сервера. По заявлениям производителя Aimeos данная связка способна крутить 1 миллиард товарных позиций с выдачей страницы до 100 мс
-
Наиболее часто используемые команды в систему Aimeos: 1) Обновление структуры данных aimeos: php artisan aimeos:setup 2) Очистка кэша: php artisan aimeos:clear 3) Создание нового магазина (сайта): php artisan aimeos:setup название_магазина
-
Для редактирования маршрутизации полезно выводить списки маршрутизации, для этого существует команда: php artisan route:list
-
Это похож на линейник BL8530 в корпусе SOT-89-3 с тремя выводами и с напряжением на выходе 3.3 вольта. Во-вложении datasheet 8530 скачать: BL8530.pdf Стоимость в районе 10 руб/шт., но производитель отпускает только бобинами по 3000 штук - из-за одной штуки слишком накладно закупать такое количество для магазина. В любом случае, если накопится с десяток запросов на данную позицию - закупим и добавим в ассортимент ИМ "Радиодар"
-
Силовые симисторы BTA41-800B оригинального производства HSDQ Рассчитаны на работу с напряжением до 800 вольт и током не более 40 ампер. Симистор BTA41-800B исполнен в корпусе стандарта TOP с тремя выводами, позволяющий устанавливать элемент на радиатор. ССЫЛКИ: 1) Купить: силовой симистор BTA41-800B оригинал HSDQ по цене от 128 руб/шт. в интернет магазине "Радиодар"
-
Мощная модульная сборка из двух тиристоров Допустимый максимальный ток до 70 ампер, максимальное напряжение до 1600 вольт ССЫЛКИ 1) Купить: тиристорная сборка MTC70A1600V по цене от 1592 руб/шт. в ИМ "Радиодар"
-
Симисторы серии BTA26 от зарекомендовавшего себя качественными полупроводниками производителя HSDQ (Китай). Рассчитаны на максимальный ток до 25 ампер и напряжение до 600 вольт. Симистор выполнен в корпусе типа TOP-3 для крепления на радиатор. ССЫЛКИ 1) Купить: симисторы BTA26-600B оригинал HSDQ по цене от 93 руб/шт. в ИМ "Радиодар"
-
Вы можете представить себе возможность публикации 1 миллиарда товаров на сайте интернет магазина? С помощью расширения Gigacommerce вы сможете сделать это! И это не преувеличение. Название: gigacommerce with ElasticSearch Цена: 899 Евро По данным статистики количества размещенных товарных позиций на сайтах (на 2024 год): на Amazon ~570 миллионов товаров на Ozon ~280 миллионов товаров на Wildberries ~190 миллионов товаров Так вот, обычная система управления сайтом CMS может обрабатывать не более 500 тысяч уникальных товарных позиций. При планировании размещения более 1 миллиона артикулов необходимо проводить громадные по объему работы по оптимизации базы данных, движка и серверов. После 10 лет работы с различными CMS системами мы вышли на производителя уникального проекта Aimeos и его мощного расширения Gigacommerce, позволяющего организовать супер мощный кэширующий сервер. Файл с описанием и краткой инструкцией: README.md Полезные команды: после внесения изменений в настройки сервера Elasticsearch необходимо перезапустить: sudo systemctl restart elasticsearch Общая оптимизированная схема проекта для первого запуска:
- 11 ответов
-
- gigacommerce
- elasticsearch
-
(и ещё 1 )
C тегом:
-
Сама система Aimeos бесплатная, но если вы желаете расширить её возможности, то рекомендуется присмотреться к замечательным расширениям. После покупки в первый раз вам предоставляют логин и пароль для доступа к репозиторию производителя. Для добавления расширений в Aimeos необходимо: открыть файл composer.json в корне магазина (по умолчанию myshop) и добавить необходимые пакеты в раздел "requires": "aimeoscom/ai-sites": "~2024.10", "aimeoscom/ai-customergroups": "~2024.10", "aimeoscom/ai-elastic": "~2024.10" Внимание: обратите особое внимание на синтаксис, после последней строки необходимо поставить запятую и добавить ваши строки, иначе composer будет ругаться: Если вы все сделали правильно, запустите команду "composer update" и по запросу системы укажите предоставленные вам при первой продаже логин и пароль: Внимание: после завершения установки приложений не забудьте запустить команду на обновление магазина: php artisan aimeos:setup Ссылки: 1) Официальный форум Aimeos: How to add extentions (instructions)
-
Так как в нашем проекте composer используется для системы Aimeos, поэтому разместили информацию в соответствующей ветке форума. И так, что такое composer? По сути это удобный пакетный менеджер, обеспечивающий управление зависимостями в приложениях PHP. Работа осуществляется посредством командной строки. Если своими словами - благодаря composer обеспечивается единая программная среда с необходимыми зависимостями (установка, обновления), своего рода репозиторий пакетов. Посредством менеджера composer происходит первоначальная установка и последующие работы по установке расширений и обновлений в Aimeos. Ссылки: 1) Официальный сайт: https://getcomposer.org/ 2) Описание на wiki: Composer 3) Статья на Habr: Composer для самых маленьких
-
Одна из самых популярных систем виртуализации Proxmox Virtual Environment. Отличается высокой надежностью и низким потреблением ресурсов. Оставила приятное впечатление, понравилась больше чем HyperV и VMWare. Ссылки: 1) Официальный сайт: Proxmox.com 2) Статья на Habr: Магия виртуализации: вводный курс в Proxmox VE 3) Статья на WiKi: Proxmox Virtual Environment