1. A computer implemented method comprising: receiving a search query; distinguishing one or more nouns in the search query from a product in the search query; identifying one or more synonyms associated with the one or more nouns; extracting a user expectation from the search query by a processor based on the one or more nouns and the one or more synonyms; mining consumer generated content for at least one of the product and the user expectation; determining an occurrence frequency of at least one of the product and the user expectation in the consumer generated content; generating an attribute for the product based on the user expectation if the occurrence frequency exceeds a threshold and the attribute is not present in a product catalog; adding metadata to the attribute, wherein the metadata includes at least one of occurrence frequency data and opinion data; adding the attribute to the product catalog; conducting a search of the product catalog based on the search query; and generating a result based on the search.