Я пытаюсь реализовать архивирование сообщений в riak. Схема выглядит примерно так
{
id = <<>> :: binary() | '_',
username_s = <<"">> :: binary() | '_',
timestamp_i = 0 :: integer(),
peer_s = <<"">> :: binary(),
bare_peer_s = <<"">> :: binary(),
packet = #xmlel{} :: xmlel() | '_',
nick_s = <<"">> :: binary(),
type_s = chat :: chat | groupchat
}
id и пакет не нужно индексировать, но их нужно запрашивать при каждом запросе.
Должен ли я создать пользовательскую схему и сохранить их в Solr как неиндексированное поле?
Должен ли я выполнять объединение результатов поиска на уровне приложения при индивидуальном запросе каждого ключа?
Или MapReduce как-то вариант?
Или что-то совсем другое?
Спасибо.