Elasticsearch магазин брендов и продуктов, отношения один-ко-многим, поиск и разбивка на страницы по обеим сторонам - PullRequest
0 голосов
/ 22 марта 2019

У меня есть продукты и их бренды, Ранее мое отображение было

{
"product_id",
"product_name",
"brand_id",
"brand_name",
"city_id",
//other filters associated with product
}

все работало нормально, пока мне не пришлось искать по брендам, с текущим отображением было трудно разбить документ на страницы поэтому я создал отдельное сопоставление для брендов, теперь схема была

{
"product_id",
"product_name",
"brand_id",
"city_id",
"doc_type"   //product
//other filters associated with product
}
{
"brand_id",
"brand_name",
"doc_type"   //brand
}

Но я не могу найти марку с фильтром, связанным с продуктом, например, найти марку с продуктами в городе А, я могу использовать объединения на уровне приложения, но предположим, что если у меня есть 100 000 товаров с текущим фильтром, мне нужно сохранить эти идентификаторы в памяти прежде чем я запросить на столе бренда. я могу добавить эти фильтры в таблицу брендов, но это не только неправильно, будет очень трудно отслеживать обновления и удаление продуктов в бренде. Будучи новичком в nosql, мой дизайн кажется совершенно неправильным.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...