However when I re-visit previous places on the map the ores are missing. Do these ores and crystals re-spawn? Or are they a one shot deal?
According to internal testing, this is how often ores respawn:
- Iron Chunk deposits respawn every 24 hours
- White Iron deposits respawn every 48 hours
- Crystal Ore deposits respawn every 72 hours.
In addition to those 3 basic ores that you can find throughout Tevyat, the specialty ores such as Cor Lapis and Noctilucous Jade (both currently found only in Liyue) follow the Crystal Chunk's timer -- they respawn every 72 hours.
Don't forget to send your characters out on expeditions. Make sure to select the 20h option -- this yields the highest rewards and can be well worth it if you do not have the time to play the game much (3-4 White Iron ore, 7-8 Crystal Chunks). The current expedition areas that yield ores are Yaoguang Shoal in Liyue, Whispering Woods and Dadaupa Gorge in Mondstadt.
Do not forget about Shitou in Liyue Harbor! He sells a stack of Iron Chunks, White Iron Ore, and Noctilucous Jade, and his shop refreshes every 3 days.
As Showsni mentions in the comments above, doing material farming rotations with your buddies is a good way to not only save time, but greatly improve efficiency in farming ores. As long as you are in close proximity to your friend while you or them or harvesting an ore, you will both receive the material when any of you picks it up. This means that you effectively have twice the mineral deposits you can farm as you have two separate worlds.
These ores do respawn. The timer is somewhat nebulous, I've heard 10-24 hours as a respawn. Personally, I find that I can revisit an area roughly 24 hours after I've cleared it out and everything will be back. To note these areas, I mark them on my map with a star and check in around the same time every day.