Experienced this several times. Especially when I want to research a less generic term or word. I think the reason is most times the algorithms are designed to predict what it determines is relevant to the user (based on existing pages, recent search results, etc) rather than matching keywords or giving results with exact words in it.
Yea, you don't want to interrupt a search that has already been launched. But you might want to highlight the continually updated nature of your search by displaying a small message or alert at the top of the SRP, something that says, "New results found, search again?"
Instagram and Twitter display similar messages for an updated feed.
Apart from the technology involved, A user expects robustness and concurrency from the interface (where the search is initiated here). So to say, updating main page via web socket with new data sources is acceptable but trying to update the search result user already looked is not something desirable in this case since the user not necessarily have to turn ...
I think most users don't expect their search results to change in real-time — that almost sounds like a separate feature (like subscribing to a topic).
The flow I'd expect is that searching is a one-off operation which returns a set of static results, if you want up-to-date info then the user needs to perform the search again (think Google).
Perhaps a new design function called 'recent searches' that are stored on cookies/ app and visually accessible on the page like in a side menu or when you click on search again? This may make your product more user personalizable, assuming its on the web.