Efficiently store and query categorical sparse data in Clojure | Hacker News Reader