Package org.apache.lucene.search.highlight

Examples of org.apache.lucene.search.highlight.SimpleHTMLFormatter


  private String highlightField(Query query, String fieldName,
      String text) throws IOException, InvalidTokenOffsetsException {
    TokenStream tokenStream = new MockAnalyzer(random(), MockTokenizer.SIMPLE,
        true, MockTokenFilter.ENGLISH_STOPSET).tokenStream(fieldName, text);
    // Assuming "<B>", "</B>" used to highlight
    SimpleHTMLFormatter formatter = new SimpleHTMLFormatter();
    MyQueryScorer scorer = new MyQueryScorer(query, fieldName, FIELD_NAME);
    Highlighter highlighter = new Highlighter(formatter, scorer);
    highlighter.setTextFragmenter(new SimpleFragmenter(Integer.MAX_VALUE));

    String rv = highlighter.getBestFragments(tokenStream, text, 1,
View Full Code Here


    return document;
  }

  @Override
  public BenchmarkHighlighter getBenchmarkHighlighter(Query q) {
    highlighter = new Highlighter(new SimpleHTMLFormatter(), new QueryScorer(q));
    return new BenchmarkHighlighter() {
      @Override
      public int doHighlight(IndexReader reader, int doc, String field, Document document, Analyzer analyzer, String text) throws Exception {
        TokenStream ts = TokenSources.getAnyTokenStream(reader, doc, field, document, analyzer);
        TextFragment[] frag = highlighter.getBestTextFragments(ts, text, mergeContiguous, maxFrags);
View Full Code Here

  public int numToHighlight() {
    return 0;
  }

  protected Highlighter getHighlighter(Query q){
    return new Highlighter(new SimpleHTMLFormatter(), new QueryScorer(q));
  }
View Full Code Here

  public int numToHighlight() {
    return numToHighlight;
  }
 
  protected BenchmarkHighlighter getBenchmarkHighlighter(Query q){
    highlighter = new Highlighter(new SimpleHTMLFormatter(), new QueryScorer(q));
    highlighter.setMaxDocCharsToAnalyze(maxDocCharsToAnalyze);
    return new BenchmarkHighlighter(){
      public int doHighlight(IndexReader reader, int doc, String field,
          Document document, Analyzer analyzer, String text) throws Exception {
        TokenStream ts = TokenSources.getAnyTokenStream(reader, doc, field, document, analyzer);
View Full Code Here

    }
    return document;
  }

  public BenchmarkHighlighter getBenchmarkHighlighter(Query q) {
    highlighter = new Highlighter(new SimpleHTMLFormatter(), new QueryScorer(q));
    return new BenchmarkHighlighter() {
      public int doHighlight(IndexReader reader, int doc, String field, Document document, Analyzer analyzer, String text) throws Exception {
        TokenStream ts = TokenSources.getAnyTokenStream(reader, doc, field, document, analyzer);
        TextFragment[] frag = highlighter.getBestTextFragments(ts, text, mergeContiguous, maxFrags);
        numHighlightedResults += frag != null ? frag.length : 0;
View Full Code Here

    return numToHighlight;
  }
 
  @Override
  protected BenchmarkHighlighter getBenchmarkHighlighter(Query q){
    highlighter = new Highlighter(new SimpleHTMLFormatter(), new QueryScorer(q));
    highlighter.setMaxDocCharsToAnalyze(maxDocCharsToAnalyze);
    return new BenchmarkHighlighter(){
      @Override
      public int doHighlight(IndexReader reader, int doc, String field,
          Document document, Analyzer analyzer, String text) throws Exception {
View Full Code Here

            //QueryParser qp = new QueryParser( LUCENE_PAGE_CONTENTS, getLuceneAnalyzer() );
            Query luceneQuery = qp.parse( query );

            if( (flags & FLAG_CONTEXTS) != 0 )
            {
                highlighter = new Highlighter(new SimpleHTMLFormatter("<span class=\"searchmatch\">", "</span>"),
                                              new SimpleHTMLEncoder(),
                                              new QueryScorer(luceneQuery));
            }

            try
View Full Code Here

   * @param subLength 截取长度
   * @param fields 字段名
   */
  public List<T> keywordsHighlight(BooleanQuery query, List<T> list, int subLength, String... fields){
    Analyzer analyzer = new IKAnalyzer();
    Formatter formatter = new SimpleHTMLFormatter("<span class=\"highlight\">", "</span>");  
    Highlighter highlighter = new Highlighter(formatter, new QueryScorer(query));
    highlighter.setTextFragmenter(new SimpleFragmenter(subLength));
    for(T entity : list){
      try {
        for (String field : fields){
View Full Code Here

        Document doc = multiReader.document(docid);
        String content = doc.get("content");

        Scorer qs = new QueryScorer(q);

        SimpleHTMLFormatter formatter = new SimpleHTMLFormatter("<span class=\"hl\">", "</span>");
        Highlighter hl = new Highlighter(formatter, qs);
        String[] fragments = hl.getBestFragments(analyzer, "content", content, 1);

        Map<String, String[]> fields = convert(doc);
        fields.put("fragment", fragments);
View Full Code Here

    return numToHighlight;
  }
 
  @Override
  protected BenchmarkHighlighter getBenchmarkHighlighter(Query q){
    highlighter = new Highlighter(new SimpleHTMLFormatter(), new QueryScorer(q));
    highlighter.setMaxDocCharsToAnalyze(maxDocCharsToAnalyze);
    return new BenchmarkHighlighter(){
      @Override
      public int doHighlight(IndexReader reader, int doc, String field,
          Document document, Analyzer analyzer, String text) throws Exception {
View Full Code Here

TOP

Related Classes of org.apache.lucene.search.highlight.SimpleHTMLFormatter

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.