本文整理汇总了C++中SearchEngineInterface::setQueryExpansion方法的典型用法代码示例。如果您正苦于以下问题:C++ SearchEngineInterface::setQueryExpansion方法的具体用法?C++ SearchEngineInterface::setQueryExpansion怎么用?C++ SearchEngineInterface::setQueryExpansion使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SearchEngineInterface
的用法示例。
在下文中一共展示了SearchEngineInterface::setQueryExpansion方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: doWork
void ExpandQueryThread::doWork(void)
{
// 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_queryProps.getName();
return;
}
// Set the maximum number of results
pEngine->setMaxResultsCount(m_queryProps.getMaximumResultsCount());
// Set whether to expand the query
pEngine->setQueryExpansion(m_relevantDocs);
// Run the query
if (pEngine->runQuery(m_queryProps) == false)
{
m_status = _("Couldn't run query on search engine");
m_status += " ";
m_status += m_engineName;
}
else
{
// Copy the expand terms
const set<string> &expandTerms = pEngine->getExpandTerms();
copy(expandTerms.begin(), expandTerms.end(),
inserter(m_expandTerms, m_expandTerms.begin()));
}
delete pEngine;
}
示例2: doWork
void ExpandQueryThread::doWork(void)
{
IndexInterface *pIndex = PinotSettings::getInstance().getIndex("MERGED");
set<unsigned int> relevantDocIds;
if ((pIndex == NULL) ||
(pIndex->isGood() == false))
{
m_status = _("Index error on");
m_status += " MERGED";
if (pIndex != NULL)
{
delete pIndex;
}
return;
}
for (set<string>::iterator locationIter = m_relevantDocs.begin();
locationIter != m_relevantDocs.end(); ++locationIter)
{
relevantDocIds.insert(pIndex->hasDocument(*locationIter));
}
delete pIndex;
// Get the SearchEngine
SearchEngineInterface *pEngine = SearchEngineFactory::getSearchEngine("xapian", "MERGED");
if (pEngine == NULL)
{
m_status = _("Couldn't create search engine");
m_status += " ";
m_status += m_queryProps.getName();
return;
}
// Set the maximum number of results
pEngine->setMaxResultsCount(m_queryProps.getMaximumResultsCount());
// Set whether to expand the query
pEngine->setQueryExpansion(relevantDocIds);
// Run the query
if (pEngine->runQuery(m_queryProps) == false)
{
m_status = _("Couldn't run query on search engine");
}
else
{
// Copy the expand terms
const set<string> &expandTerms = pEngine->getExpandTerms();
copy(expandTerms.begin(), expandTerms.end(),
inserter(m_expandTerms, m_expandTerms.begin()));
}
delete pEngine;
}