The way you'd want to interact with the search probably wouldn't work. Even if you copy the search index folder locally and access it from your application after some time it will become outdated as Kentico website will be updating the search index and your copy will remain outdated.
In this case, I would suggest you to write API controller or HTTP handler in your Kentico website solution which will be calling SearchHelper.Search method internally with the parameters passed to the controller/handler and just return the search results.
And the separate application you're writing will be calling API or handler with search string parameter. And in this case you wouldn't need to reference Kentico libraries and deal with this complicated structure. Hope it makes sense.