Скажем, если у нас есть документ, который может иметь 50-60 полей. Например:
{
"priceCurrency": "USD",
"price": "119.99",
"priceValidUntil": "2020-11-05",
"brand": "Acme",
"logo": "http://www.example.com/logo.png",
"name": "WidgetPress",
"category": "Widgets",
"image": "http://www.example.com/image.jpg",
"description": "This is an excellent widget with 21 features and 4 colors."
}
Теперь из этих 60 полей мы можем запросить 20-25 полей. Это означает, что нам понадобятся индексы для всех этих полей.
Запрос, сформированный для этих полей, может иметь операторы равенства и неравенства. В запросе также могут быть операторы AND / OR / NOT.
Не будет необходимости в полнотекстовом поиске.
Для такого сценария предпочтительнее использовать ElasticSearch или MongoDB?
Я читал в одной статье, что поддержка более 5 индексов в mon go может замедлить запись. В таких случаях рекомендуется использовать ES.
Наши данные будут составлять около 200 ГБ. RPS будет 20 000.