Confusion about singular value decomposition in LSA

I had a question about separate ideas suggested by two different sources. (you don't necessarily have to go through the sources for this question)

So, to summarize what I am doing, I am just using LSA to create a search engine. I have the term-document matrix (terms are the rows and the documents are the columns) set up without any weighting done. I want to reduce the number of dimensions of that matrix, so I took the SVD of the matrix, and I took the singular vectors corresponding to the $k$ largest singular value. So, given that the SVD of $A$ is $A = U\Sigma V^T$, I now have $A_k = U_k\Sigma_k V^T_k$. Now I want to use all of this information, including a second term-document matrix that only includes a single document (the query), and I want to find the most similar document to that query.

Both sources involve mapping all the documents (and the query) into space with $k$ dimensions, and the vector closest to the query vector is the most similar to the query vector. Now here is where I am confused and need some explaining.
-Source 1 says that the way LSA should be done is that $V_k$ has rows that represent vectors mapping to each document. However, in order to map the query vector, lets call it $q$, I need to do $q^TU_k\Sigma_k^{-1}$, and map that result into space.
-Source 2, on the other hand, says that I should map the documents by taking the term-document matrix, let's call it $d$ and do $d^TU_k$. It says nothing about the what to do if there is a query, but my assumption was that I also do $q^TU_k$.

Can someone tell me which source I should be following? Also, if I should be following source 2, is my assumption about mapping the query vector correct?

-