22. The program storage device of claim 21 , wherein the method steps for processing further comprises method steps for: (a) parsing output from the extracting; (b) for each of the mapping categories extracted: (i) retrieving a corresponding canonical category; (ii) inserting the canonical category into the data; and (iii) if there are any canonical attributes for the mapping category, inserting the canonical attributes into the data.
22. The program storage device of claim 21 , wherein the method steps for processing further comprises method steps for: (a) parsing output from the extracting; (b) for each of the mapping categories extracted: (i) retrieving a corresponding canonical category; (ii) inserting the canonical category into the data; and (iii) if there are any canonical attributes for the mapping category, inserting the canonical attributes into the data. 24. The program storage device of claim 22 , wherein the method steps for processing data further comprises indexing the data wherein: for each part in the data, a document is created in an index, wherein the document comprises a title, a description, a canonical category, a canonical parent category in the canonical hierarchical structure, and one or more corresponding canonical attributes; and for each canonical attribute, a field is added to the index with a corresponding value.