Yes, storing the similar_items in a field, cross_action_similar_items in another field all on the same doc ided by item ID. Agree that there may be other fields.
Storing the rows of [B'B] is ok because it's symmetric. However we did talk about the [B'A] case and I thought we agreed to store the rows there too because they were from Bs items. This was the discussion about having different items for cross actions. The excerpt below is Ted responding to my question. So do we want the columns of [B'A]? It's only a transpose away. > On Tue, Jul 30, 2013 at 11:11 AM, Pat Ferrel <p...@occamsmachete.com> wrote: > [B'A] = > iphone ipad nexus galaxy surface > iphone 2 2 2 1 0 > ipad 2 2 2 1 0 > nexus 1 1 1 1 0 > galaxy 1 1 1 1 0 > surface 0 0 0 0 1 > > The rows are what we want from [B'A] since the row items are from B, right? > > Yes. > > It is easier to understand if you have different kinds of items as well as > different actions. For instance, suppose that you have user x query terms > (A) and user x device (B). B'A is then device x term so that there is a row > per device and the row contains terms. This is good when searching for > devices using terms. Talking about getting the actual doc field values, which will include the similar_items field and other metadata. The actual ids in the similar_items field work well for anonymous/no-history recs but maybe there is a second query or fetch that I'm missing? I assumed that a fetch of the doc and it's fields by item ID was as fast a way to do this as possible. If there is some way to get the same result by doing a query that is faster, I'm all for it? Can do tomorrow at 2.