         # File lib/ferret/index.rb, line 459
    459:     def query_delete(query)
    460:       @dir.synchrolock do
    461:         ensure_writer_open()
    462:         ensure_searcher_open()
    463:         query = do_process_query(query)
    464:         @searcher.search_each(query, :limit => :all) do |doc, score|
    465:           @reader.delete(doc)
    466:         end
    467:         flush() if @auto_flush
    468:       end
    469:     end