The index table engine calculates the priority based on word occurence. If the word spot is occured more times in the selected fields than the others the result is shown first. For multiple words the occurence values are added together. If seemingly the “spot” word is prioritized it's because it's most likely occuring more times for the given results along with the “head” word.
With tens of thousands of results it's even more complicated, because the logic determines the operation between each result set. Each result set is limited to a certain number based on an optimum calculation. The AND or OR logic only determines the connection between results sets for each keyword.
After determining the results, the script orders them by relevance first which is calculated based on the upper mentioned occurence, then if there are results with equal relevance, secondary ordering is used, which is date by default.
The exact matches will not work with the index table engine, it's programatically impossible. (if you want I can explain why)
The index table is an extremely complex thing to explain. It's a very high performance focused construction. For basic pro-con list you can read the documentation if you want: https://wpdreams.gitbooks.io/ajax-search-pro-documentation/content/index_table.html
The regular engine uses a bit more intuitive logic to calculate the relevance, but in your case I would not recommend using it. This is unfortunately not possible to implement with the index table engine.Best,
If you like my products, don't forget to rate them on codecanyon :)