本文整理汇总了C++中IndexReader::query方法的典型用法代码示例。如果您正苦于以下问题:C++ IndexReader::query方法的具体用法?C++ IndexReader::query怎么用?C++ IndexReader::query使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IndexReader
的用法示例。
在下文中一共展示了IndexReader::query方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: usage
int
get(int argc, char** argv) {
// parse arguments
parseArguments(argc, argv);
string backend = options['t'];
string indexdir = options['d'];
// check arguments: indexdir
if (indexdir.length() == 0) {
pe("Provide the directory with the index.\n");
return usage(argc, argv);
}
// check arguments: dirs
if (arguments.size() == 0) {
pe("'%s' '%s'\n", backend.c_str(), indexdir.c_str());
pe("Provide one or more files to search.\n");
return usage(argc, argv);
}
// create an index manager
IndexManager* manager = getIndexManager(backend, indexdir);
if (manager == 0) {
return usage(argc, argv);
}
IndexReader* reader = manager->indexReader();
QueryParser parser;
for (vector<string>::iterator iter = arguments.begin();
iter != arguments.end(); ++iter) {
Query query = parser.buildQuery( "system.location:'"+ *iter + '\'');
vector<IndexedDocument> matches = reader->query(query, 0, 10);
if (matches.size() == 0)
printf ("%s: is not indexed\n", iter->c_str());
else
{
printf ("Information associated to %s:\n", iter->c_str());
for (vector<IndexedDocument>::iterator it = matches.begin();
it != matches.end(); ++it)
{
printIndexedDocument(*it);
}
}
}
IndexPluginLoader::deleteIndexManager(manager);
return 0;
}