this is a copy of source code of the book Lucene in Action by myself