本文整理汇总了C++中DocumentPtr::addField方法的典型用法代码示例。如果您正苦于以下问题:C++ DocumentPtr::addField方法的具体用法?C++ DocumentPtr::addField怎么用?C++ DocumentPtr::addField使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类DocumentPtr
的用法示例。
在下文中一共展示了DocumentPtr::addField方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: index
void index(const tstring& sDir)
{
IndexWriterPtr pIndexWriter = m_pIndex->acquireWriter();
DirectoryIterator di(sDir, false);
while(di.hasNext())
{
const File& f = di.next();
if(f.isFile())
{
BinaryFile bf;
bf.open(f.getPath().c_str(), BinaryFile::READ);
if(bf.isFileOpen())
{
size_t nRead = (size_t)bf.getLength();
if (nRead > 0)
{
DocumentPtr pDoc = new Document(pIndexWriter->getDocSchema());
pDoc->addField(0, f.getPath().c_str());
char* buf = new char[nRead + 1];
bf.read(buf, nRead);
buf[nRead] = 0;
pDoc->addField(1, buf, nRead, false);
delete[] buf;
pIndexWriter->addDocument(pDoc);
}
}
}
}
docPool.commit();
pIndexWriter->close();
}
示例2: buildDateTimeIndex
void DateTimeIndexTestCase::buildDateTimeIndex(const string& sDocs)
{
try
{
DocumentSchema schema;
schema.addField("DateTime1", "DATETIME_I", true);
Index index;
index.open(getIndexPath(), Index::WRITE, &schema);
IndexWriterPtr pIndexWriter = index.acquireWriter();
StringTokenizer st(sDocs, ";", StringTokenizer::TOKEN_TRIM |
StringTokenizer::TOKEN_IGNORE_EMPTY);
for (StringTokenizer::Iterator it = st.begin(); it != st.end(); ++it)
{
DocumentPtr pDoc = new Document(pIndexWriter->getDocSchema());
pDoc->addField(0, (*it).c_str());
pIndexWriter->addDocument(pDoc);
}
pIndexWriter->close();
}
catch (const FirteXException& )
{
CPPUNIT_ASSERT(false);
}
}