Я работал в приложении электронной коммерции, используя mongodb. Теперь я планирую интегрировать мою существующую инфраструктуру электронной коммерции с solr для управления отображением каталогов продуктов. Моя основная идея состоит в том, чтобы включить следующие функциональные возможности:
— категориальная навигация
— огранка
— Геотаргетинг
— Авто Предложить
Это пример макета приложения, которое я хотел бы воссоздать:
В настоящее время у меня есть следующие коллекции в mongodb:
Products: {
"_id" : ObjectId("568887fc14a9962460fbbcbd"),
"date_created" : "2014-10-01T00:00:00Z",
"date_updated" : "2014-10-01T00:00:00Z",
"name" : "Iphone 6 64gb",
"price" : "100",
"summary" : "Iphone 6 64gb",
"delivery" : "Shipment",
"shipment_location" : "USA",
"shipment_weight" : "1",
"shipment_package_quantity" : "1",
"options" : {
"id" : "price-1234567890",
"value" : "111",
"stock_level" : "1",
"currency" : "usd"},
"attributes" : {
"id" : "atr_1",
"name" : "memory",
"values" : "64gb"},
"images" : {
"id" : "price-1234567890",
"caption" : "image",
"file" : [
{
"id" : "price-1234567890-1",
"date_uploaded" : "2014-10-01T00:00:00Z",
"length" : "123",
"md5" : "hasg",
"filename" : "price-1234567890-1",
"content_type" : "PNG",
"metadata" : "price-1324567890-1",
"data" : "price-1234567890-1",
"url" : "/images/folder/mongodb/a.png"}
]
},
"category_id" : "65",
"category_index" : {
"id" : "111",
"sort" : "price"},
"stock" : {
"id" : "price-1234567890",
"date_created" : "2014-10-01T00:00:00Z",
"date_updated" : "2014-10-01T00:00:00Z",
"parent_id" : "",
"parent" : "111",
"number" : "111",
"quantity" : "11",
"variant_id" : "1",
"variant" : "11",
"last" : "1",
"prev_id" : "1",
"prev" : "1",
"level" : "1",
"reason" : "1",
"description" : "1",
"order_id" : "11",
"order" : "1"},
"quantity_min" : "1",
"quantity_inc" : "1",
}
Коллекция категорий:
{
"_id" : 3,
"date_created" : "2016-01-01T00:00:00Z",
"date_updated" : "2016-01-01T00:00:00Z",
"name" : "Computers",
"slug" : "Computers",
"description" : "Computers",
"meta_description" : "Computers",
"meta_keyword" : "Computers",
"navigation" : "true",
"top_id" : 3,
"top" : "true",
"parent_id" : 2,
"parent" : "Default",
"active" : "y",
"productype" : "simple",
"path" : "Computers",
"categoryids" : "2,3",
"children" : "yes",
}
Таксономия:
{
"_id" : ObjectId("56803181bf244c701d000170"),
"category_id" : "65",
"name" : "Names",
"expandable" : false,
"inputAsTree" : true,
"multiSelect" : true,
"mandatory" : false,
"version" : 9,
"createTime" : 1451240000.0000000000000000,
"lastUpdateTime" : 1451280000.0000000000000000,
}
Сбор таксономермы:
{
"_id" : ObjectId("568073e5bf244c701d000179"),
"text" : "Jose",
"version" : 2,
"taxonomyid" : "56803181bf244c701d000170",
"orderValue" : 1600,
"expandable" : false,
"nativeLanguage" : "en",
"i18n" : {
"en" : {
"text" : "Jose",
"locale" : "en"}
},
}
Термины таксономии относятся к таксономии. в первом вы можете определить основное имя и в терминах определить термины, имеющие отношение к таксономии (варианты). Например: таксономия: имена. Условия таксономии: боб-хосе-педро
Может ли кто-нибудь пролить свет на то, что мне нужно сделать, чтобы приблизить интеграцию с предлагаемой схемой коллекций в mongo к дизайну в solr:
как я могу сопоставить категории с категориальной навигацией.?
как я могу сопоставить таксономические термины с огранкой?
Обеспечивает ли solr область настройки конфигурации для фасетов?
или любой другой подход, который вы считаете, может быть лучше.
Похоже, что это приложение для электронной коммерции разработано на заказ, а не размещено на платформе, которая может иметь соединитель Solr, поэтому для этого потребуется много узнать о Solr, а также сделать много пользовательских разработок на этой странице поиска. ,
Ваша коллекция продуктов Solr должна включать как минимум следующие поля:
Думайте о своей коллекции как о денормализованном / уплощенном представлении старой школы всех данных о Продукте (и связанных с ними), необходимых для поиска.
(А) Категориальная навигация: продукты по всей виртуальной витрине с управляемой навигацией.
Проверьте Solr Иерархическая огранка страница
(Б) Огранка: Автоматическое извлечение информации о продукте, чтобы клиенты могли фильтровать по цвету, размеру, марке, доступности и цене.
Солр будет генерировать количество аспектов для всех значений (присутствующих в результатах поиска) запрошенного поле. Это означает, что вам нужно иметь одно поле для каждого фасетного атрибута в вашей коллекции. И вам придется определить / отобразить их напрямую.
Других решений пока нет …