本文整理汇总了C++中SearchResult::begin方法的典型用法代码示例。如果您正苦于以下问题:C++ SearchResult::begin方法的具体用法?C++ SearchResult::begin怎么用?C++ SearchResult::begin使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SearchResult
的用法示例。
在下文中一共展示了SearchResult::begin方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: search
SearchResult InventorSearcher::search(string query)
{
auto g = pminer.g.get();
SearchResult result;
unordered_map<int, vector<QueryItem>> inventor_pats;
//searching section
LOG(INFO) << "Searching for query: " << query;
auto enumer = pminer.search_patents(query, pat_count);
LOG(INFO) << "Generating Inventor Pats... patents: " << enumer.size();
for (auto& item : enumer) {
auto vi = g->Vertices();
vi->MoveTo(item.docId);
for (auto edgeIt = vi->InEdges(); edgeIt->Alive(); edgeIt->Next()) {
if (edgeIt->TypeName() == "PatentInventor") {
int gid = edgeIt->SourceId();
inventor_pats[gid].push_back(item);
}
}
}
LOG(INFO) << "Scoring... inventors: " << inventor_pats.size();
//start caculation score
for (auto& gpats : inventor_pats) {
QueryItem item{gpats.first, get_score_inventor(gpats, pminer)};
if (item.score > 20 || result.size() <= 5000)
result.push_back(item);
}
LOG(INFO) << "Sorting...";
std::sort(result.begin(), result.end());
if (result.size() > 5000)
result.resize(5000);
return result;
}