I am newbi in lucene and working on ShingleFilter. The Syntax of ShingleFilter is //ShingleFilter(TokenStream input, int minShingleSize, int maxShingleSize)

The searching sentence is:
"journal universal computer science vol submitted accepted appeared integration knowledge management learning issue stefanie lindstaedt graz".

My Code is here:
TokenStream tokenStream = ////
ShingleFilter theFilter = new ShingleFilter(tokenStream,8,8);
theFilter.setOutputUnigrams(false);
CharTermAttribute charTermAttribute = theFilter.addAttribute(CharTermAttribute.class);
theFilter.reset();
while (theFilter.incrementToken()) {
System.out.println("Phrase Searching:"+charTermAttribute.toString());
}

OutPut:

Phrase Searching:journal universal computer science vol submitted accepted appeared
Phrase Searching:universal computer science vol submitted accepted appeared integration
Phrase Searching:computer science vol submitted accepted appeared integration knowledge
Phrase Searching:science vol submitted accepted appeared integration knowledge management
Phrase Searching:vol submitted accepted appeared integration knowledge management learning
Phrase Searching:submitted accepted appeared integration knowledge management learning issue
Phrase Searching:accepted appeared integration knowledge management learning issue stefanie
Phrase Searching:appeared integration knowledge management learning issue stefanie lindstaedt
Phrase Searching:integration knowledge management learning issue stefanie lindstaedt graz

My Question is: How can I change the technique used in ShingleFliter to count every next phrase used rather than it counting every next (word) token in the phrase.

Require Outputs:
Phrase Searching:journal universal computer science vol submitted accepted appeared
Phrase Searching:integration knowledge management learning issue stefanie lindstaedt graz