I am trying to implement a message archiving in riak. The schema looks something like this
{
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 and packet doesn't need to be indexed but need to be queried on every query.
Should I create a custom scheme and store them in Solr as non-indexed field?
Should I do application level join of search result while individually query each key ?
Or is MapReduce somehow an option ?
Or something else entirely ?
Thank you.