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;
}