To begin, find one of your dog's favorite toys. Set the toy a couple of feet away from your dog and tell your dog to "Find [the name of the toy]".
Reward your dog with either a treat, a game of tug of war with the toy, or a brief game of fetch with the toy for going to the toy or for picking up the toy.
If you dog knows the 'drop it' command already, have him drop the toy by commanding him to 'dro it', and then repeat having your dog find the toy again. If you dog does not know the 'drop it' command, place a treat in front of your dog's nose and when your dog drops the toy to get the treat, offer the treat to him while you pick up the toy at the same time.
When your dog is going to the toy without hesitation, increase the difficulty by moving the toy farther away from your dog. Repeat this process every time your has mastered the current distance and is able to find the toy quickly.
Once your dog can find the toy from twenty or more feet away, begin to hide the toy partially out of sight at that same distance. If your dog struggles to find the toy while it is partially hidden, give him a hint by walking him close by it, where he can see or smell it
Once your dog understands that he needs to search for the toy when he cannot see it, begin to hide the toy entirely out of sight at the current distance. Continue to reward your dog every time he finds the toy.
Once your dog can find the toy when it is out of sight by searching for it and sniffing it out, practice hiding the toy somewhere with competing smells, such as your yard. At first let your dog see you with the item before you hide it.
Once your dog can find the toy in the new environment, practice hiding the toy before you bring your dog outside. This will require him to search for the toy without previously knowing it was there. If your dog seems confused, lead him to the toy for a couple of the searches, then resume practicing hiding the toy without him first seeing it.
Once your dog has mastered finding that particular toy in various locations when it is out of sight, start the entire process over again with a different toy. Then once he has masted that toy, teach him to find another toy. Continue to add toys. Be sure to give each new toy a different name. For example if you told him to "find red ball" with the first toy, then tell him to "find tug toy" with the new toy.
Once your dog knows how to find several different toys by name, practice putting two of the toys together and having him choose the correct toy by name. When he can do this with two toys, add a third, and then a fourth, and then a fifth toy to the pile. Do this until your dog is a master of finding each individual toy by name.
After your dog has learned to find multiple toys, you can begin to teach him to find other non-toy items using the same process. For instance, you can teach your dog to find your keys, find your slippers, or find your phone. This trick can even be combined with fetch training, to teach your dog to bring you the found items.