I'm looking into methods to index an .epub book (we'll have alot of them, but one at a time for the purpose of this question). The index file will travel with the book (.epub) to a users device when they download the book (.epub), where they will be able to search the book locally while reading it. The results will show in a pop-up list within our app, with separate entries for each match, with a snippet of the text to provide some context. The matched word itself would be a link to where that match is exactly in the book itself, thereby allowing the user to pop over to it with a click against that result. The search has to be done against an index file on the users to device to satisfy a requirement for searches to work in off-line scenarios - so communicating with a server to do it is off the table for us.
The .epub file is really a glorified ZIP will with a number of .XHTML files within it, each representing a chapter in the book. So ultimately I guess we're talking indexing and searching against HTML files.
Does anyone know of any index/search engines that would be best for a Xamarin cross-platform app ? We will be porting our app to Android, iOS, PC etc.