static void verifyTermDocs(CuTest *tc, Directory * dir, Term * term, int numDocs) { IndexReader * reader = IndexReader::open(dir); TermDocs * termDocs = reader->termDocs(term); int count = 0; while (termDocs->next()) count++; assertEquals(numDocs, count); termDocs->close(); _CLLDELETE(termDocs); reader->close(); _CLLDELETE(reader); }
int64_t CLuceneIndexReader::documentId(const string& uri) { if (!checkReader()) return -1; int64_t id = -1; Term term(mapId(Private::systemlocation()), utf8toucs2( uri ).c_str()); TermDocs* docs = reader->termDocs(&term); if (docs->next()) { id = docs->doc(); } _CLDELETE(docs); if (id != -1 && reader->isDeleted((int32_t)id)) { id = -1; } return id; }