Я хочу создать clsuter SolrCloud для более чем 10 миллионов новостных статей. После прочтения этой статьи: Shards и индексирование данных в SolrCloud, у меня следующий план:
- Добавьте префикс ED2001! к идентификатору документа, где ED означает какой-то газетный источник, а 2001 — часть года в дате публикации новостной статьи, т.е. я хочу поместить все новостные статьи из определенного источника новостей, опубликованные в определенном году, в осколок.
- Создайте коллекцию с router.name, для которого задано значениеcompositeID.
- Добавить документы?
- Сбор запросов?
Практически у меня возникли вопросы:
- Как добавить документы на основе этого плана? Нужно ли указывать специальные параметры при обновлении коллекции/ядра?
- Это называется пользовательским шардингом? Если нет, то что такое пользовательский шардинг?
- Является ли автоматическое разбиение лучшим выбором для моего случая, поскольку есть функция разбиения на осколки для автоматического разбиения, когда осколок слишком большой?
- Могу ли я запросить без параметра _router_?
РЕДАКТИРОВАТЬ @ 2015/9/2:
- Вот как я думаю, что SolrCloud будет делать: количество новостных статей в конкретном газетном источнике за определенный год имеет тенденцию быть около фиксированного числа, например. Каждый год в ED публикуется около 80 000 статей, поэтому размер каждого сегмента не будет сильно увеличиваться. Для новостных статей ED в следующем году мне нужно только добавить префикс «ED2016!» к идентификатору документа, SolrCloud создаст для меня новый сегмент (который содержит все статьи ED2016), а позже лидер распространит реплику этого нового сегмента на другие узлы (на реплику на узел, кроме лидера?). Я прав? Если да, кажется, нет необходимости в разделении осколков.