Skip to content
Snippets Groups Projects
Commit 9c4d03c9 authored by ale's avatar ale
Browse files

add a little tool to rebuild the SOLR index

parent db19709a
No related branches found
No related tags found
No related merge requests found
...@@ -32,5 +32,8 @@ class Indexer(object): ...@@ -32,5 +32,8 @@ class Indexer(object):
def del_mp3(self, mp3): def del_mp3(self, mp3):
self._get_solr().delete(mp3.sha1) self._get_solr().delete(mp3.sha1)
def delete_all(self):
self._get_solr().delete_query('id:*')
def commit(self): def commit(self):
self._get_solr().commit() self._get_solr().commit()
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()
...@@ -23,6 +23,7 @@ setup( ...@@ -23,6 +23,7 @@ setup(
"djrandom-frontend = djrandom.frontend.frontend:main", "djrandom-frontend = djrandom.frontend.frontend:main",
"djrandom-update-markov = djrandom.model.markov:main", "djrandom-update-markov = djrandom.model.markov:main",
"djrandom-metadata-fixer = djrandom.metadata_fixer.metadata_fixer:main", "djrandom-metadata-fixer = djrandom.metadata_fixer.metadata_fixer:main",
"djrandom-solr-fixer = djrandom.model.verify:main",
], ],
}, },
) )
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment