Ah ah ah :) I have "only" 34 English cookbooks, 30 French ones, and about 50 magazines both in English or French and I already struggle. Most of my collection is not indexed.
I tend do :
- do a draft shopping list for next two weeks based on what looks good (I grocery shop online, at least when in London) but without saving it
- search recipes and select two or three, with a combination of book recipes, magasine or online
- pick a book or magazine that is not index and choose at least one other recipe from there - I tend to classify magazines by season, and books by geography, to find some with specific ingredients more quickly (i.e. would tend to find tomato, herbs, cantaloupe or sausage/BBQ in the summer / or apple, onions, cheese or charcuterie in winter)
- complete my shopping list with missing ingredients from the recipes over
Then again, I frequently derail from my plans and end up with more than I can eat/things to use up, because of eating out, or last minute travel to France, or simply being overenthousiastic while grocery shopping. In this case, I am much stricter and make myself chose recipes only with the exact ingredient list or to sub with what I have, and I also cook to oblivion in order for nothing to get wasted and then freeze the rest (or donate on food sharing apps).
It is more difficult because I live alone, but when I cook for my family (i.e. two parents, two sister,s one inlaw, one child), I have the opposite issue and we never buy enough or are always missing something.
When in France I tend to shop at the market which is usually right at my door or so three times a week, or to shop at individual shops like butcher, fishmonger, cheesemonger, baker. So I reverse my system, shop in smaller cycles (two or three days) :
- Shop first for produce, meat, cheese, fish, bread based on what looks good
- Search recipes with same criteria as above
- Complete by shopping online for missing ingredients or generic groceries or household items (such as water, salt, flour, sugar, laundry, toilet paper, etc.)