浏览 3204 次
锁定老帖子 主题:第一次搞庖丁死活查不出原因
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (1)
|
|
---|---|
作者 | 正文 |
发表时间:2012-05-15
public class Chinese { private static String FIELD_NAME = "content"; private static String QUERY = "共和国"; public static void main(String[] args) throws Exception { String IDNEX_PATH = "/paoding_test_index"; //获取Paoding中文分词器 // Analyzer analyzer = new StandardAnalyzer(); Analyzer analyzer = new PaodingAnalyzer(); //建立索引 IndexWriter writer = new IndexWriter(IDNEX_PATH, analyzer, true); Document doc = new Document(); Field field = new Field("content", "你好,世界!", Field.Store.YES, Field.Index.TOKENIZED, Field.TermVector.WITH_POSITIONS_OFFSETS); doc.add(field); writer.addDocument(doc); writer.optimize(); writer.close(); System.out.println("Indexed success!"); //检索 IndexReader reader = IndexReader.open(IDNEX_PATH); QueryParser parser = new QueryParser("content", analyzer); Query query = parser.parse("世界"); Searcher searcher = new IndexSearcher(reader); Hits hits = searcher.search(query); if (hits.length() == 0) { System.out.println("hits.length=0"); } Document doc2 = hits.doc(0); //高亮处理 String text = doc2.get("content"); TermPositionVector tpv = (TermPositionVector) reader.getTermFreqVector( 0, "content"); TokenStream ts = TokenSources.getTokenStream(tpv); Formatter formatter = new Formatter() { public String highlightTerm(String srcText, TokenGroup g) { if (g.getTotalScore() <= 0) { return srcText; } return "<b>" + srcText + "</b>"; } }; Highlighter highlighter = new Highlighter(formatter, new QueryScorer( query)); String result = highlighter.getBestFragments(ts, text, 5, "…"); System.out.println("result:\n\t" + result); reader.close(); } } 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2012-05-16
你是应该是少一个dic的文件
|
|
返回顶楼 | |
发表时间:2012-05-17
wxwall 写道 你是应该是少一个dic的文件
你是说paoding-dic-names.properties?这个是有的..莫非要把里面的注释去了? |
|
返回顶楼 | |
发表时间:2012-05-23
把词典加入src 编译
|
|
返回顶楼 | |