Package org.apache.lucene.search.highlight

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


          formatter = new SimpleHTMLFormatter(args[2].toString(),
              args[3].toString());
        } else {
          formatter = new SimpleHTMLFormatter();
        }
        Highlighter highlighter = new Highlighter(formatter,
            new QueryScorer(ctx.getQuery()));
        SimpleFragmenter fragmenter = (SimpleFragmenter) highlighter
            .getTextFragmenter();
        fragmenter.setFragmentSize(args.length >= 2 ? ((Integer) args[1]).intValue()
            : DEFAULT_FRAGMENT_SIZE);

        // fieldName param not used
        TokenStream stream = analyzer.tokenStream(null,
            new StringReader(text));
        try {
          return highlighter.getBestFragment(stream, text);
        } catch (IOException e) {

        }
      }
    } else {
View Full Code Here


    String[] terms = query.getTerms();
    WeightedTerm[] weighted = new WeightedTerm[terms.length];
    for (int i=0; i<terms.length; i++) {
      weighted[i] = new WeightedTerm(1.0f, terms[i]);
    }
    Highlighter highlighter = new Highlighter(FORMATTER, new QueryScorer(weighted));
    TokenStream tokens = analyzer.tokenStream("content", new StringReader(text));
    Summary summary = new Summary();
    try {
      // TODO : The max number of fragments (3) should be configurable
      String[] result = highlighter.getBestFragments(tokens, text, 3);
      for (int i=0; i<result.length; i++) {
        String[] parts = result[i].split(SEPARATOR);
        boolean highlight = false;
        for (int j=0; j<parts.length; j++) {
          if (highlight) {
View Full Code Here

                 
  }

  public static Object createHighlighter(Query query,String highlightBegin,String highlightEnd) {
   
      return new Highlighter(
          //new SimpleHTMLFormatter("<span class=\"matching-term\">","</span>"),
          new SimpleHTMLFormatter(highlightBegin,highlightEnd),
          new QueryScorer(query));
   
  }
View Full Code Here

    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,
        "(FIELD TEXT TRUNCATED)");
    return rv.length() == 0 ? text : rv;
  }
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

        int traversalSize = Math.min(hits.length(), traversalSize());
        if (traversalSize > 0) {
          boolean retrieve = withRetrieve();
          int numHighlight = Math.min(numToHighlight(), hits.length());
          Analyzer analyzer = getRunData().getAnalyzer();
          Highlighter highlighter = null;
          int maxFrags = 1;
          if (numHighlight > 0) {
            highlighter = getHighlighter(q);
            maxFrags = maxNumFragments();
          }
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

                new CachingTokenFilter(new DomainSearchAnalyzer().tokenStream(field, new StringReader(text)));

      QueryScorer scorer = new QueryScorer(query, field, "");
      scorer.init(tokenStream);
     
            Highlighter highlighter =
                new Highlighter(new DomainSearchFormatter(), scorer);
            highlighter.setTextFragmenter(fragmenter);
            tokenStream.reset();

            try {
                return highlighter.getBestFragments(tokenStream, text, 2, " ... ");

            } catch (InvalidTokenOffsetsException e) {
                // could not create fragments, return empty string
            }
View Full Code Here

     
      logger.debug("query for highlighter : {}" , query);

      QueryScorer scorer = new QueryScorer(query);

      Highlighter highlighter = new Highlighter(formatter, scorer);
      highlighter.setTextFragmenter(new SimpleFragmenter(50));


      TokenStream stream = analyzer.tokenStream(field.getName(), new StringReader(value));
      fragment = highlighter.getBestFragments(stream, value, 1, "...");

      if(fragment == null || "".equals(fragment)) {
        if(value.length() > 100) {
          fragment = value.substring(0,100);
        } else {
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

TOP

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

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.