package com.plugtree.solradvert.core; import java.io.IOException; import java.io.StringReader; import org.apache.lucene.analysis.Analyzer; import org.apache.lucene.analysis.TokenStream; import org.apache.lucene.analysis.tokenattributes.CharTermAttribute; import org.apache.solr.handler.component.ResponseBuilder; import org.apache.solr.schema.IndexSchema; public class SchemaTool { private ResponseBuilder rb; public SchemaTool(ResponseBuilder rb) { this.rb = rb; } public String analyze(String field, String text) { IndexSchema schema = rb.req.getSchema(); Analyzer analyzer = schema.getAnalyzer(); StringReader reader = new StringReader(text); TokenStream ts = analyzer.tokenStream(field, reader); ts.addAttribute(CharTermAttribute.class); String result = null; try { if(ts.incrementToken()) { CharTermAttribute term = ts.getAttribute(CharTermAttribute.class); result = term.toString(); } ts.close(); reader.close(); } catch(IOException ex) { ex.printStackTrace(); } return result; } }