Freelance careers and small studios run substantially on direct messages, which is fine until the day you need to retrieve something specific from them. At that point you are not searching. You are excavating.
DMs have no schema
A rate might arrive as a number with a currency, a number without one, a screenshot of a rate card, or the phrase around the usual. All four are equally unsearchable, and the fourth is unsearchable even by the person who wrote it.
Search finds words, not facts
Searching rate returns every message where anyone typed the word rate, including the ones complaining about frame rates. The information you want is a fact about a person; the tool you have indexes strings in a conversation.
The thread is not the record
A conversation contains a decision somewhere inside it, buried in negotiation, small talk and revised numbers. Reconstructing what was actually agreed means reading the whole thing again and hoping the last number mentioned was the final one, which is not always true.
Attachments make it worse
Half the useful material is in images that expired, links that died, or files that only exist on a phone you no longer own. The archaeology metaphor becomes uncomfortably literal at this stage.
Extract the facts, keep the thread
Conversations are worth keeping and terrible at storage. Pull the durable facts out — agreed rate, availability window, what they said no to — into a record about the person, and let the thread go back to being a conversation.
Two minutes at the end of a conversation
That is the whole cost. Do it while the numbers are on screen, not eight months later with a trowel.