8. A non-transitory computer readable storage medium storing computer instructions which, when executed by a processor, cause the processor to: identify one or more candidate query refinements for a query based on one or more previous queries submitted by one or more users; generate, based on the one or more candidate query refinements, one or more term occurrence scores associated with one or more respective terms in the one or more candidate query refinements, the one or more term occurrence scores indicating a frequency of the one or more respective terms in the one or more candidate query refinements; calculate, based on the one or more term occurrence scores, a respective query refinement score for each of the one or more candidate query refinements; generate, for a particular candidate query refinement of the one or more candidate query refinements, a first refinement count, the first refinement count being based on a frequency of occurrence of the particular candidate query refinement in a log; generate, for the particular candidate query refinement, a second refinement count, the second refinement count being based on a frequency of occurrence of another candidate query refinement, of the one or more candidate query refinements, in the log; generate, based on the first refinement count and the second refinement count, a query refinement popularity score for the particular candidate query refinement; and store information associating the respective query refinement score with each of the one or more candidate query refinements and the query refinement popularity score with the particular candidate query refinement for use in selecting among the one or more candidate query refinements for the query.
13. The non-transitory computer readable storage medium of claim 8 , where the one or more instructions further include: one or more instructions to receive the query; and one or more instructions to send, based on receiving the query, the particular candidate query refinement.