James provide a module called Lucene Mailbox Index that knows how to index emails. Indexing is done by providing a suitable Lucene Directory implementation that will store the index and allow searching. Lucene comes with File system directory JDBC Directory and a few other implementations to store the index in a file-system or in a database.
In order to provide distributed search we should implement a Directory implementation that will store the index in HBase. Such an implementation is described very well here .