This is comment for paste
задача 3
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- template<typename ConditionFind>
- vector<Document> FindAllDocuments(const Query& query, DocumentStatus status, const ConditionFind& data ) const {
- map<int, double> document_to_relevance;
- for (const string& word : query.plus_words) {
- if (word_to_document_freqs_.count(word) == 0) {
- continue;
- }
- const double inverse_document_freq = ComputeWordInverseDocumentFreq(word);
- for (const auto [document_id, term_freq] : word_to_document_freqs_.at(word)) {
- // if (documents_.at(document_id).status == status) {
- document_to_relevance[document_id] += term_freq * inverse_document_freq;
- // }
- }
- }
- for (const string& word : query.minus_words) {
- if (word_to_document_freqs_.count(word) == 0) {
- continue;
- }
- for (const auto [document_id, _] : word_to_document_freqs_.at(word)) {
- document_to_relevance.erase(document_id);
- }
- }
- vector<Document> matched_documents;
- for (const auto [document_id, relevance] : document_to_relevance) {
- if( data (document_id, documents_.at(document_id).status, documents_.at(document_id).rating)) {
- matched_documents.push_back(
- {document_id, relevance, documents_.at(document_id).rating});
- }
- }
- return matched_documents;
- }
- };
Advertisement
Add Comment
Please, Sign In to add comment