Without specific details, it's hard to say.
To speed up Windows Search, you could add an 'index location' of a mapped drive, but the Microsoft support/advice on this is that you probably shouldn't use a huge index.
In terms of indexing files, it would depend on your ultimate purpose. If you're looking to share the music so other devices may load/play it, it may be easier to setup a UPnP server (e.g. MediaTomb) or DAAP server (e.g. FireFly). This would negate the need to index the music collection provided a suitable client (e.g. Windows Media Player for UPnP, iTunes for DAAP) is available.
If you are looking to build an index (including text from within documents), then Xapian and Apache's Lucene/Solr are probably what you want. They're not 'friendly' out of the box.
On a personal aside, I found full indexing (i.e. the Xapian or Solr approach) to be severe overkill for home use, not to mention more of a hassle than it's worth, and opted to use a series of services to serve up the data required, along with the standard Samba/CIFS 'home' directories for per-user storage. Music is mounted read-only on its own share and sorted sensibly (i.e. artist's first name). This sort of organisation removes the need to 'index' it, as such, and means you don't need to maintain another service. (Though, to be honest, I still use DAAP and UPnP to support this.)
EDIT: For searching over ssh, look into slocate (read: 'locate' and 'updatedb').