diff --git a/server/djrandom/model/indexer.py b/server/djrandom/model/indexer.py
index 7022ba00c6c017270d41f941807b86e8984377c6..2ec9bd249041bbdf16a8f56e94fe82232000753e 100644
--- a/server/djrandom/model/indexer.py
+++ b/server/djrandom/model/indexer.py
@@ -32,5 +32,8 @@ class Indexer(object):
     def del_mp3(self, mp3):
         self._get_solr().delete(mp3.sha1)
 
+    def delete_all(self):
+        self._get_solr().delete_query('id:*')
+
     def commit(self):
         self._get_solr().commit()
diff --git a/server/djrandom/model/verify.py b/server/djrandom/model/verify.py
new file mode 100644
index 0000000000000000000000000000000000000000..c0f447c635edf6bb9b26f89500b9f98adbaf4743
--- /dev/null
+++ b/server/djrandom/model/verify.py
@@ -0,0 +1,48 @@
+import os
+import optparse
+import logging
+import time
+from djrandom import daemonize
+from djrandom import utils
+from djrandom.database import Session, init_db, indexer
+from djrandom.model.mp3 import MP3
+
+log = logging.getLogger(__name__)
+
+
+def fix_solr():
+    print 'rebuilding the SOLR index...'
+    for mp3 in MP3.query:
+        indexer.add_mp3(mp3)
+    print 'commit...'
+    indexer.commit()
+    print 'done.'
+
+
+def run_fixer(db_url, solr_url):
+    init_db(db_url, solr_url)
+    fix_solr()
+
+
+def main():
+    parser = optparse.OptionParser()
+    parser.add_option('--solr_url', default='http://localhost:8080/solr')
+    parser.add_option('--db_url')
+    daemonize.add_standard_options(parser)
+    utils.read_config_defaults(
+        parser, os.getenv('DJRANDOM_CONF', '/etc/djrandom.conf'))
+    opts, args = parser.parse_args()
+    if not opts.db_url:
+        parser.error('Must provide --db_url')
+    if args:
+        parser.error('Too many arguments')
+
+    if opts.once:
+        opts.foreground = True
+
+    daemonize.daemonize(opts, run_fixer,
+                        (opts.solr_url, opts.db_url))
+
+
+if __name__ == '__main__':
+    main()
diff --git a/server/setup.py b/server/setup.py
index 22f935ba5e49ffc9aab03fadb78a55f8d91e405d..7cb08e73f68d8cb74985511010e426d58f75bb4f 100644
--- a/server/setup.py
+++ b/server/setup.py
@@ -23,6 +23,7 @@ setup(
       "djrandom-frontend = djrandom.frontend.frontend:main",
       "djrandom-update-markov = djrandom.model.markov:main",
       "djrandom-metadata-fixer = djrandom.metadata_fixer.metadata_fixer:main",
+      "djrandom-solr-fixer = djrandom.model.verify:main",
     ],
   },
   )