    /*
     *  call-seq:
     *     iw << document -> iw
     *     iw.add_document(document) -> iw
     *
     *  Add a document to the index. See Document. A document can also be a simple
     *  hash object.
     */
    static VALUE
    frb_iw_add_doc(VALUE self, VALUE rdoc)
    {
        IndexWriter *iw = (IndexWriter *)DATA_PTR(self);
        Document *doc = frb_get_doc(rdoc);
        iw_add_doc(iw, doc);
        doc_destroy(doc);
        return self;
    }