1. An ecommerce system having a database comprising multiple data items, wherein the data items represent products sold in the ecommerce system, the system comprising: a processor-implemented candidate list generator module to: generate a list of keywords from search query information; generate a set of token pairs including a keyword from the list of keywords and a token, the token being a synonym of the keyword; receive demand information and supply information, wherein the demand information is information retrieved from query logs maintained for user-provided query entries stored in the database and the supply information is seller-provided descriptor information for the data items stored in the database; and apply candidate selection rules to token pairs across multiple categories using the demand information; a processor-implemented validation module to: calculate a divergence value for each token pair across multiple categories using the demand information; and validate token pairs based on the divergence value; and a processor-implemented data dictionary module to: receive the validated token pairs as entries in a vocabulary, and provide the token pairs in response to a search query containing a keyword corresponding to at least one entry in the vocabulary.