not raise error on key interrupt
cleanup solr
refactor name
support list directories
cleanup code