Learning ideas behind ferret (and lucene)