vsm :: VSMIndex :: match_vector
query
vector to all index document vectorsReturns an IndexMatch
for each indexed document.
Results are ordered by descending similarity.
# Match `query` vector to all index document vectors
#
# Returns an `IndexMatch` for each indexed document.
# Results are ordered by descending similarity.
fun match_vector(query: Vector): Array[IndexMatch[DOC]] do
var documents = new HashSet[DOC]
for term, count in query do
if inversed_index.has_key(term) then
documents.add_all inversed_index[term]
end
end
var matches = new Array[IndexMatch[DOC]]
for doc in documents do
var sim = query.cosine_similarity(doc.tfidf)
if sim == 0.0 then continue
matches.add new IndexMatch[DOC](doc, sim)
end
sorter.sort(matches)
return matches
end
lib/vsm/vsm.nit:155,2--174,4