private void indexFromRequests(List<Order> orders, Map<String, Product> productMap, OrderHistory history) {
        for (Order order : orders) {
            Indexed<Product> x = search.get(order.getSku());
            if (x == null) {
                Product product = productMap.get(order.getSku());
                if (product == null) {
                    product = new Product(order.getSku(), order.getSku(), Product.NO_DATE, Product.NO_RANK);
                    productMap.put(order.getSku(), product);
                }
                x = new Indexed<Product>(product);
                search.put(order.getSku(), x);
            }

            BagOfWords bag = getBag(order, history);
            x.count(bag.getWords());
        }
    }