1. A method for training a semantic indexing model comprising: providing a search engine with a first query; receiving a set of documents of a plurality of documents related to the first query from the search engine; generating, by at least one hardware processor, an expanded query by merging at least a portion of a subset of the set of the documents with the first query; and training the semantic indexing model based on the expanded query; wherein the training comprises presenting at least a portion of the plurality of documents to a user, receiving indications of which of the plurality of documents are relevant to the expanded query and which of the plurality of documents are irrelevant to the expanded query; wherein the training updates the model based on the expanded query, the documents that are relevant to the expanded query and the documents that are irrelevant to the expanded query; wherein the updating comprises modifying the model by computing the model such that ∑ ( q , d + , d - ) ⁢ max ⁡ ( 0 , 1 - f ⁡ ( q ′ , d + ) + f ⁡ ( q ′ , d - ) ) is minimized, where f is the model, q′ denotes the expanded query, d + denotes documents that are relevant to the query q′ and d − denotes documents that are irrelevant to the query q′.