You can write a search provider — see this documentation. But that won't change the application search. The default search is built-in, and it orders applications by frequency, which, from this source file, we can see is stored in
~/.local/share/gnome-shell/application_state. From the source, the algorithm is:
/* The ranking algorithm we use is: every time an app score reaches SCORE_MAX,
* divide all scores by 2. Scores are raised by 1 unit every SAVE_APPS_TIMEOUT
* seconds. This mechanism allows the list to update relatively fast when
* a new app is used intensively.
* To keep the list clean, and avoid being Big Brother, apps that have not been
* seen for a week and whose score is below SCORE_MIN are removed.
So, keep using
calc and it should rise to the top. However, note that it's counting usage time, not number of executions, which probably explains why LibreOffice Calc is getting greater weight. And sitting in the background won't work — the app needs to be focused. This might be a RFE for the GNOME developers, since it seems reasonable that something you run frequently but for only a very short time should also rise to the top.
Alternatively, you could edit the file (probably while gnome-shell is not running — log in remotely or from a virtual terminal) and inflate the score manually. It will collapse again, though, so I guess if you really want to force it, you might want to automate that hack with cron or something.
Oh! It also looks like if you go to the GNOME Shell Privacy settings and turn off "Usage & History", data in this file will still be reported but no longer updated. Haven't tried that, but this may be a way to force results permanently.