本文整理汇总了C++中IndexReader::document方法的典型用法代码示例。如果您正苦于以下问题:C++ IndexReader::document方法的具体用法?C++ IndexReader::document怎么用?C++ IndexReader::document使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IndexReader
的用法示例。
在下文中一共展示了IndexReader::document方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: getAllKeys
QStringList ZefaniaLex::getAllKeys()
{
if(!m_entryList.isEmpty()) {
return m_entryList;
}
try {
if(!hasIndex()) {
if(buildIndex() != 0) {
return QStringList();
}
}
const QString index = indexPath();
IndexReader* reader = IndexReader::open(index.toStdString().c_str());
QStringList ret;
for(int i = 0; i < reader->numDocs(); i++) {
Document doc;
reader->document(i, doc);
ret.append(SearchTools::toQString(doc.get(_T("key"))));
}
m_entryList = ret;
return ret;
}
catch(CLuceneError &err) {
myWarning() << "clucene error = " << err.what();
return QStringList();
}
catch(...) {
return QStringList();
}
}
示例2: getAllKeys
QStringList ZefaniaLex::getAllKeys()
{
try {
if(!hasIndex()) {
if(buildIndex() != 0) {
return QStringList();
}
}
const QString index = indexPath();
IndexReader* reader = IndexReader::open(index.toStdString().c_str());
QStringList ret;
for(int i = 0; i < reader->numDocs(); i++) {
Document doc;
reader->document(i, doc);
#ifdef OBV_USE_WSTRING
ret.append(QString::fromWCharArray(doc.get(_T("key"))));
#else
ret.append(QString::fromUtf16((const ushort*)doc.get(_T("key"))));
#endif
}
return ret;
}
catch(...)
{
return QStringList();
}
}
示例3: docdump
void
indexdump(const char* dir) {
IndexReader* indexreader = IndexReader::open(dir);
int32_t max = indexreader->maxDoc();
for (int i=0; i<max; ++i) {
Document* doc = indexreader->document(i);
if (doc) {
docdump(doc);
}
}
TermEnum* terms = indexreader->terms();
Term* t = 0;
while (terms->next()) {
t = terms->term();
printf("%s: %s\n", t2a(t->field()).c_str(), t2a(t->text()).c_str());
_CLDECDELETE(t);
}
}