lucene-NGram中文分词

NGram(综合了单词切分和二分法)

package busetoken;

import java.io.IOException;
import java.io.StringReader;

import org.apache.lucene.analysis.Token;
import org.apache.lucene.analysis.ngram.NGramTokenizer;

public class UseN {

/**
* @param args
*/
public static void main(String[] args) {
String s="编码规范从根本上解决了程序维护员的难题;规范的编码阅读和理解起来更容易,也可以快速的不费力气的借鉴别人的编码。对将来维护你编码的人来说,你的编码越优化,他们就越喜欢你的编码,理解起来也就越快。";
StringReader sr=new StringReader(s);

NGramTokenizer cjk=new NGramTokenizer(sr);
Token t=null;

try {
while ((t=cjk.next())!=null){
System.out.print(t.termText()+"|");
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
// TODO Auto-generated method stub

}

}

效果如下:

编|码|规|范|从|根|本|上|解|决|了|程|序|维|护|员|的|难|题|;|规|范|的|编|码|阅|读|和|理|解|起|来|更|容|易|,|也|可|以|快|速|的|不|费|力|气|的|借|鉴|别|人|的|编|码|。|对|将|来|维|护|你|编|码|的|人|来|说|,|你|的|编|码|越|优|化|,|他|们|就|越|喜|欢|你|的|编|码|,|理|解|起|来|也|就|越|快|。|编码|码规|规范|范从|从根|根本|本上|上解|解决|决了|了程|程序|序维|维护|护员|员的|的难|难题|题;|;规|规范|范的|的编|编码|码阅|阅读|读和|和理|理解|解起|起来|来更|更容|容易|易,|,也|也可|可以|以快|快速|速的|的不|不费|费力|力气|气的|的借|借鉴|鉴别|别人|人的|的编|编码|码。|。对|对将|将来|来维|维护|护你|你编|编码|码的|的人|人来|来说|说,|,你|你的|的编|编码|码越|越优|优化|化,|,他|他们|们就|就越|越喜|喜欢|欢你|你的|的编|编码|码,|,理|理解|解起|起来|来也|也就|就越|越快|快。|

你可能感兴趣的:(apache,Lucene)