16. A computer-implemented method of searching for information in an information retrieval system, the computer-implemented method comprising: receiving a search query comprising a plurality of terms; selecting one of the plurality of terms, wherein unselected terms of the plurality of terms comprise remaining terms of the received search query and the selected term has a position relative to the remaining unselected terms of the received search query; selecting, for the selected terms, a replacement term that appears in a plurality of previously received multi-term search queries in a same position within the previously received multi-term search queries as the position of the selected term relative to the remaining unselected terms of the received search query; deriving an altered query by replacing the selected terms in the received query with the replacement term; and generating a list of search results for the altered query.
16. A computer-implemented method of searching for information in an information retrieval system, the computer-implemented method comprising: receiving a search query comprising a plurality of terms; selecting one of the plurality of terms, wherein unselected terms of the plurality of terms comprise remaining terms of the received search query and the selected term has a position relative to the remaining unselected terms of the received search query; selecting, for the selected terms, a replacement term that appears in a plurality of previously received multi-term search queries in a same position within the previously received multi-term search queries as the position of the selected term relative to the remaining unselected terms of the received search query; deriving an altered query by replacing the selected terms in the received query with the replacement term; and generating a list of search results for the altered query. 17. The computer-implemented method of claim 16 , further comprising: analyzing query logs containing the previously received multi-term queries, to identify: a first plurality of multi-term search queries in which a first term appears in context with a set of other terms; a second plurality of multi-term search queries in which a second term appears in the context with the set of other terms; and storing in a memory the second term as a synonym for the first term in the context of the set of other terms.