There are several methods for recommending things given a shopping cart contents. At the risk of using the same tool for every problem I was thinking about a recommender's use here.
I'd do something like train on shopping cart purchases so row = cartID, column = itemID. Given cart contents I could find the most similar cart in the training set by using a similarity measure then get recs for this closest matched cart. The search for similar carts may be slow if I have to check for pairwise similarity so I could cluster and find the best cluster then search it for the best cart. I could create a decision tree on all trained carts and walk as far as I can down the tree to find the cart with the most cooccurrences. There may be other cooccurrence based methods in mahout??? With the id of the cart I can then get recs from the training set. I could also fold-in the new cart contents to the training set and ask for recs based on it (this seems like it would take a long time to compute). This last would also pollute the trained matrix with partial carts over time. This seems like another place where Lucene might help but are there other mahout methods to look at before I diving into Lucene?