The cookbook is looking at how to specifically handle this with the search engine search-index, but the concept can be used for any modern search engine.
There are three typical reasons for this, and the two first can easily be solved by using different types of synonyms lists.
1: Tribal language – Difference in language between user and search engine
Often the people creating the content that goes into the search engine uses different words that the users searching for the very same content. This is easily visible in bureaucratic organisations, but every organisation has it’s own tribal language.
cab - taxi, uber
The solution to this is to create a synonyms list. You go through your 0 result log and look for correctly spelled words that should get a result back, but doesn’t because of difference in which words are used in content and query. The synonyms list is used to expand the query to also search for alternative synonyms.
2: Users misspelling words
Some words are hard to spell. When you find misspelled words in your 0 result log, create a many to one synonyms list. Swap the misspelled words with the correct word.
vehical, vehicule, vehicula, vechicle, vehiculo - vehicle
3: Missing content
And what about important content missing from your search engine? It’s not solved with a synonyms list. But it’s a good opportunity to understand what new content to create and index! An even better solution would be to make the users subscribe to a zero result query with the promise of telling them if content matching the query is created. If enough users are interested in new content, create it and message them.