It depends which you have more of: time, or money.
If you have more time, you can do it yourself. The best way to do it yourself is the brute-force method, because the software just isn't that helpful unless you're expert in using it:
Before you start: Get an index stylesheet from your editor; if your publisher doesn't have an index stylesheet, ask your editor to send you some examples of "good indexes" from other books he/she's edited.
Step 1: Pick up your galleys. Reread your book very carefully. Whenever you see a topic or reference that you think should be in the index, make a note of it on an index card or in a notes program like Mori.
Don't bother writing down the page number at this point: just write the person's name or topic. "Harry Houdini"; "circus elephants"; "Chattanooga, Tennessee"; "Yiddish"; "spiritualism" etc.
Step 2: Collate the above into an alphabetized list. Review it, tweaking as necessary; you may want a heading for "Circus animals" in general, with subheads for "elephants" and "lions" and "tigers", for instance. Check your list against the stylesheet or examples.
Step 2a: Send the list to your editor for review.
Step 3: With your index list in hand, do a global search of your MS for the page numbers. You may want amplifying entries for some of the topics: for instance, you might get:
Houdini, Harry, 10-13, 260-263, 317; early life, 13-14; influences on, 15-17; literary works, 23; marriage to Bess, 21
Recheck your draft index against the stylesheet or examples.
Step 3a: Send the draft index to your editor for review.
Some useful resources are the
Chicago Manual of Style and
Indexing Books by Nancy Mulvany. Also
this webpage from the University of Virginia Press.