Hi Dave,
Yes, it was done entirely by embedding indexterms and running the stylesheet machinery to generate the index.
I wrote a short macro at the time in the XML editor I was using to generate the elements (one macro for just primary entries, and one for primary plus secondary), so all I had to do was position the cursor, execute the macro, and type in the text. While there, I usually tried to come up additional indexterms with synonyms and reversals of primary and secondary too. After generating the first index with the stylesheet, I read it and settled on my indexing vocabulary, that is, which words would make the best primary entries, and which would be "See" entries, or "See also" entries. Then I went back and edited the indexterms in place to align them with my vocabulary. After two more passes like that, you see the result.
It is a tedious process, but I'm convinced that only a human (usually a single human at that) can create a truly useful index.
Bob Stayton
Sagehill Enterprises
bobs@sagehill.net