本文整理汇总了C++中SearchEngineInterface::getResultsCountEstimate方法的典型用法代码示例。如果您正苦于以下问题:C++ SearchEngineInterface::getResultsCountEstimate方法的具体用法?C++ SearchEngineInterface::getResultsCountEstimate怎么用?C++ SearchEngineInterface::getResultsCountEstimate使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SearchEngineInterface
的用法示例。
在下文中一共展示了SearchEngineInterface::getResultsCountEstimate方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: main
//.........这里部分代码省略.........
{
clog << "Couldn't obtain search engine instance" << endl;
DownloaderInterface::shutdown();
MIMEScanner::shutdown();
return EXIT_FAILURE;
}
// Set up the proxy
WebEngine *pWebEngine = dynamic_cast<WebEngine *>(pEngine);
if (pWebEngine != NULL)
{
DownloaderInterface *pDownloader = pWebEngine->getDownloader();
if ((pDownloader != NULL) &&
(settings.m_proxyEnabled == true) &&
(settings.m_proxyAddress.empty() == false))
{
char portStr[64];
pDownloader->setSetting("proxyaddress", settings.m_proxyAddress);
snprintf(portStr, 64, "%u", settings.m_proxyPort);
pDownloader->setSetting("proxyport", portStr);
pDownloader->setSetting("proxytype", settings.m_proxyType);
}
pWebEngine->setEditableValues(settings.m_editablePluginValues);
}
pEngine->setDefaultOperator(SearchEngineInterface::DEFAULT_OP_AND);
if (pEngine->runQuery(queryProps) == true)
{
string resultsPage;
unsigned int estimatedResultsCount = pEngine->getResultsCountEstimate();
const vector<DocumentInfo> &resultsList = pEngine->getResults();
if (resultsList.empty() == false)
{
if (printResults == true)
{
unsigned int count = 0;
if (locationOnly == false)
{
clog << "Showing " << resultsList.size() << " results of about " << estimatedResultsCount << endl;
}
vector<DocumentInfo>::const_iterator resultIter = resultsList.begin();
while (resultIter != resultsList.end())
{
string rawUrl(resultIter->getLocation(true));
if (locationOnly == false)
{
clog << count << " Location : '" << rawUrl << "'"<< endl;
clog << count << " Title : " << resultIter->getTitle() << endl;
clog << count << " Type : " << resultIter->getType() << endl;
clog << count << " Language : " << resultIter->getLanguage() << endl;
clog << count << " Date : " << resultIter->getTimestamp() << endl;
clog << count << " Size : " << resultIter->getSize() << endl;
clog << count << " Extract : " << resultIter->getExtract() << endl;
clog << count << " Score : " << resultIter->getScore() << endl;
}
else
{
clog << rawUrl << endl;
示例2: doWork
void EngineQueryThread::doWork(void)
{
PinotSettings &settings = PinotSettings::getInstance();
// Get the SearchEngine
SearchEngineInterface *pEngine = SearchEngineFactory::getSearchEngine(m_engineName, m_engineOption);
if (pEngine == NULL)
{
m_errorNum = UNKNOWN_ENGINE;
m_errorParam = m_engineDisplayableName;
return;
}
// Set up the proxy
DownloaderInterface *pDownloader = pEngine->getDownloader();
if ((pDownloader != NULL) &&
(settings.m_proxyEnabled == true) &&
(settings.m_proxyAddress.empty() == false))
{
char portStr[64];
pDownloader->setSetting("proxyaddress", settings.m_proxyAddress);
snprintf(portStr, 64, "%u", settings.m_proxyPort);
pDownloader->setSetting("proxyport", portStr);
pDownloader->setSetting("proxytype", settings.m_proxyType);
}
if (m_listingIndex == false)
{
pEngine->setLimitSet(m_limitToDocsSet);
}
// Run the query
pEngine->setDefaultOperator(SearchEngineInterface::DEFAULT_OP_AND);
if (pEngine->runQuery(m_queryProps, m_startDoc) == false)
{
m_errorNum = QUERY_FAILED;
m_errorParam = m_engineDisplayableName;
}
else
{
const vector<DocumentInfo> &resultsList = pEngine->getResults();
m_documentsList.clear();
m_documentsList.reserve(resultsList.size());
m_documentsCount = pEngine->getResultsCountEstimate();
#ifdef DEBUG
cout << "EngineQueryThread::doWork: " << resultsList.size() << " off " << m_documentsCount
<< " results to process, starting at position " << m_startDoc << endl;
#endif
m_resultsCharset = pEngine->getResultsCharset();
if (m_listingIndex == false)
{
processResults(resultsList);
}
else
{
processResults(resultsList,
PinotSettings::getInstance().getIndexIdByName(m_engineDisplayableName));
}
// Any spelling correction ?
string correctedFreeQuery(pEngine->getSpellingCorrection());
if (correctedFreeQuery.empty() == false)
{
m_correctedSpelling = true;
m_queryProps.setFreeQuery(correctedFreeQuery);
}
}
delete pEngine;
}
示例3: doWork
void QueryingThread::doWork(void)
{
PinotSettings &settings = PinotSettings::getInstance();
// Get the SearchEngine
SearchEngineInterface *pEngine = SearchEngineFactory::getSearchEngine(m_engineName, m_engineOption);
if (pEngine == NULL)
{
m_status = _("Couldn't create search engine");
m_status += " ";
m_status += m_engineDisplayableName;
return;
}
// Set up the proxy
DownloaderInterface *pDownloader = pEngine->getDownloader();
if ((pDownloader != NULL) &&
(settings.m_proxyEnabled == true) &&
(settings.m_proxyAddress.empty() == false))
{
char portStr[64];
pDownloader->setSetting("proxyaddress", settings.m_proxyAddress);
snprintf(portStr, 64, "%u", settings.m_proxyPort);
pDownloader->setSetting("proxyport", portStr);
pDownloader->setSetting("proxytype", settings.m_proxyType);
}
// Run the query
if (pEngine->runQuery(m_queryProps, m_startDoc) == false)
{
m_status = _("Couldn't run query on search engine");
m_status += " ";
m_status += m_engineDisplayableName;
}
else
{
const vector<DocumentInfo> &resultsList = pEngine->getResults();
m_documentsList.clear();
m_documentsList.reserve(resultsList.size());
m_documentsCount = pEngine->getResultsCountEstimate();
#ifdef DEBUG
cout << "QueryingThread::doWork: " << resultsList.size() << " off " << m_documentsCount
<< " results to process, starting at position " << m_startDoc << endl;
#endif
m_resultsCharset = pEngine->getResultsCharset();
if (m_listingIndex == false)
{
processResults(resultsList);
}
else
{
processResults(resultsList,
PinotSettings::getInstance().getIndexId(m_engineDisplayableName));
}
}
delete pEngine;
}