Admin service now also throws InvalidIndexNameException
Added BulkImportTest.java
Started to implement async stream client call
Disconnecting streaming clients in case of error
Added more Streaming data
Removed printouts
Furter streaming components implemented
Suggestions queries now have to send an AnalyticsData object storing user session ID and user-agent information
Implemented AnalyticsLogger
Now using long as ID of suggestions fields, and payload value and ID of
the payload in the corresponding index
generateSuggestionsFromESResponse now gets the payload via concurrent
requests
Formatted
If we store the payload as is we get the following exception. Now the
payload is stored in a json field.

org.elasticsearch.index.mapper.MapperParsingException: failed to parse
	at
org.elasticsearch.index.mapper.DocumentMapper.parse(DocumentMapper.java:555)
	at
org.elasticsearch.index.mapper.DocumentMapper.parse(DocumentMapper.java:483)
	at
org.elasticsearch.index.shard.service.InternalIndexShard.prepareIndex(InternalIndexShard.java:397)
	at
org.elasticsearch.action.index.TransportIndexAction.shardOperationOnPrimary(TransportIndexAction.java:191)
	at
org.elasticsearch.action.support.replication.TransportShardReplicationOperationAction$AsyncShardOperationAction.performOnPrimary(TransportShardReplicationOperationAction.java:527)
	at
org.elasticsearch.action.support.replication.TransportShardReplicationOperationAction$AsyncShardOperationAction$1.run(TransportShardReplicationOperationAction.java:426)
	at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
	at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
	at java.lang.Thread.run(Thread.java:745)
Caused by: org.elasticsearch.ElasticsearchParseException: Failed to
derive xcontent from (offset=99, length=4): [69, 83, 0, 0, 0, 109, 0, 0,
0, 0, 0, 0, 0, 8, 0, 0, 15, -72, 55, 5, 105, 110, 100, 101, 120, 0, 2,
0, 0, 0, 0, 13, -8, 71, 88, 0, 0, 0, 26, 116, 101, 115, 116, 105, 110,
100, 101, 120, 55, 52, 53, 54, 57, 54, 48, 55, 57, 45, 112, 97, 121,
108, 111, 97, 100, 0, 0, 1, 1, 116, 1, 1, 49, 0, 0, 1, 13, 49, 52, 48,
55, 56, 55, 56, 49, 57, 53, 57, 55, 50, -1, -1, -1, -1, -1, -1, -1, -1,
4, 97, 100, 115, 102, 0, 0, -1, -1, -1, -1, -1, -1, -1, -3, 0, 0]
	at
org.elasticsearch.common.xcontent.XContentFactory.xContent(XContentFactory.java:195)
	at
org.elasticsearch.common.xcontent.XContentHelper.createParser(XContentHelper.java:69)
	at
org.elasticsearch.common.xcontent.XContentHelper.createParser(XContentHelper.java:47)
	at
org.elasticsearch.index.mapper.DocumentMapper.parse(DocumentMapper.java:497)
	... 8 more
Bug in rebase fixed
further rebasing
Bugfix: generateSuggestionsFromESResponse has called callback.onComplete
twice
Moved checks from SuggestionIndexTest into reusable methods