1. A method of associating advertisements with a query from a user directed to a search engine comprising the steps of: a) (i) obtaining advertisement keyword meanings associated with said advertisements, each of the advertisement keyword meanings comprising a specific intended meaning of a word contained in the respective advertisement; (ii) indexing the advertisements according to the associated advertisement keyword meanings; (iii) storing said indexed advertisements in a database; and b) (i) receiving a query from a user through a user interface, said query comprising words used in a context; (ii) disambiguating said query to identify query keyword meanings of words contained in said query, each of said query keyword meanings comprising a specific deduced intended meaning of a respective word in the query, in view of the context of its usage in the query; (iii) expanding said query keyword meanings using their relevant semantic relations to other word meanings to create a list of expanded query keyword meanings; (iv) searching said database of indexed advertisements to identify matches between the expanded query keyword meanings and the advertisement keyword meanings; (v) extracting advertisements indexed to the advertisement keyword meanings matched to the query keyword meanings, said extracted advertisements comprising advertisements relevant to said query; and, (vi) providing said relevant advertisements to said user through said user interface.