    /*
     *  call-seq:
     *     iw.optimize -> iw
     *
     *  Optimize the index for searching. This commits any unwritten data to the
     *  index and optimizes the index into a single segment to improve search
     *  performance. This is an expensive operation and should not be called too
     *  often. The best time to call this is at the end of a long batch indexing
     *  process. Note that calling the optimize method do not in any way effect
     *  indexing speed (except for the time taken to complete the optimization
     *  process).
     */
    static VALUE
    frb_iw_optimize(VALUE self)
    {
        IndexWriter *iw = (IndexWriter *)DATA_PTR(self);
        iw_optimize(iw);
        return self;
    }