I have been struggling to get search to work on my hexo-generated blog.
I initially thought it was due to a poorly implemented theme, but as jamiehumphries correctly suggests, Hexo’s core required a fix.
This very simple fix was discussed here, and the following diff illustrates the change needed:
The diff can be applied to form.js at (on FreeBSD global installation) /usr/local/lib/node_modules/hexo/lib/plugins/helper
Also, see here for further necessary patches.