public Highlighter(Scorer fragmentScorer) { this(new SimpleHTMLFormatter(),fragmentScorer); }
public Highlighter(Scorer fragmentScorer) { this(new SimpleHTMLFormatter(), fragmentScorer); }
+ "] for the field [" + highlighterContext.fieldName + "]"); Formatter formatter = new SimpleHTMLFormatter(field.fieldOptions().preTags()[0], field.fieldOptions().postTags()[0]);
SimpleHTMLFormatter htmlFormatter = new SimpleHTMLFormatter(); Highlighter highlighter = new Highlighter(htmlFormatter, new QueryScorer(query)); for (int i = 0; i < hits.length; i++) { int docId = hits[i].doc; Document d = searcher.doc(docId); String text = doc.get("contents"); String bestFrag = highlighter.getBestFragment(analyzer, "contents", text); //output, however you like.
@Override @Deprecated public void highlight(URI property) { Formatter formatter = new SimpleHTMLFormatter(SearchFields.HIGHLIGHTER_PRE_TAG, SearchFields.HIGHLIGHTER_POST_TAG); highlighter = new Highlighter(formatter, new QueryScorer(query)); } }
public OLuceneResultSet(OLuceneIndexEngine engine, OLuceneQueryContext queryContext, ODocument metadata) { this.engine = engine; this.queryContext = queryContext; this.query = queryContext.getQuery(); indexName = engine.indexName(); fetchFirstBatch(); deletedMatchCount = calculateDeletedMatch(); Map<String, Object> highlight = Optional.ofNullable(metadata.<Map>getProperty("highlight")).orElse(Collections.emptyMap()); highlighted = Optional.ofNullable((List<String>) highlight.get("fields")).orElse(Collections.emptyList()); String startElement = (String) Optional.ofNullable(highlight.get("start")).orElse("<B>"); String endElement = (String) Optional.ofNullable(highlight.get("end")).orElse("</B>"); Scorer scorer = new QueryTermScorer(queryContext.getQuery()); Formatter formatter = new SimpleHTMLFormatter(startElement, endElement); highlighter = new Highlighter(formatter, scorer); maxNumFragments = (int) Optional.ofNullable(highlight.get("maxNumFragments")).orElse(2); }
@Override @Deprecated public void highlight(IRI property) { Formatter formatter = new SimpleHTMLFormatter(SearchFields.HIGHLIGHTER_PRE_TAG, SearchFields.HIGHLIGHTER_POST_TAG); highlighter = new Highlighter(formatter, new QueryScorer(query)); } }
public String toHighlighter(Query query,Document doc,String field,Analyzer analyzer){ try { SimpleHTMLFormatter simpleHtmlFormatter = new SimpleHTMLFormatter("<font>", "</font>"); Highlighter highlighter = new Highlighter(simpleHtmlFormatter,new QueryScorer(query)); TokenStream tokenStream1 = analyzer.tokenStream("text",new StringReader(doc.get(field))); String highlighterStr = highlighter.getBestFragment(tokenStream1, doc.get(field)); return highlighterStr == null ? doc.get(field):highlighterStr; } catch (IOException e) { e.printStackTrace(); return null; } catch (InvalidTokenOffsetsException e) { e.printStackTrace(); return null; } }
public static Highlight of(Map<String, Integer> fields) { final ImmutableMap<String, Integer> f = filter(fields); if (f.isEmpty()) { return no(); } return new Some(Factory.get().standardAnalyzer(), new SimpleHTMLFormatter(), f); }
public Formatter getFormatter(String fieldName, SolrParams params ) { numRequests++; if( defaults != null ) { params = new DefaultSolrParams( params, defaults ); } return new SimpleHTMLFormatter( params.getFieldParam(fieldName, HighlightParams.SIMPLE_PRE, "<em>" ), params.getFieldParam(fieldName, HighlightParams.SIMPLE_POST, "</em>")); }
TopDocs hits = searcher.search(query, reader.maxDoc()); System.out.println(hits.totalHits); SimpleHTMLFormatter htmlFormatter = new SimpleHTMLFormatter(); Highlighter highlighter = new Highlighter(htmlFormatter, new QueryScorer(query)); for (int i = 0; i < reader.maxDoc(); i++) {
SimpleHTMLFormatter simpleHTMLFormatter = new SimpleHTMLFormatter("<b><font color=red>","</font></b>"); QueryScorer scorer = new QueryScorer(query);//计算查询结果最高的得分 Fragmenter fragmenter = new SimpleSpanFragmenter(scorer);//根据得分算出一个片段
private List<LumongoHighlighter> getHighlighterList(List<HighlightRequest> highlightRequests, Query q) { if (highlightRequests.isEmpty()) { return Collections.emptyList(); } List<LumongoHighlighter> highlighterList = new ArrayList<>(); for (HighlightRequest highlight : highlightRequests) { QueryScorer queryScorer = new QueryScorer(q, highlight.getField()); queryScorer.setExpandMultiTermQuery(true); Fragmenter fragmenter = new SimpleSpanFragmenter(queryScorer, highlight.getFragmentLength()); SimpleHTMLFormatter simpleHTMLFormatter = new SimpleHTMLFormatter(highlight.getPreTag(), highlight.getPostTag()); LumongoHighlighter highlighter = new LumongoHighlighter(simpleHTMLFormatter, queryScorer, highlight); highlighter.setTextFragmenter(fragmenter); highlighterList.add(highlighter); } return highlighterList; }
/** * 构建org.apache.lucene.search.highlight.Highlighter对象 * * @return */ public org.apache.lucene.search.highlight.Highlighter buildHighlighter(Query query) { String perfix = getPerfix(); String suffix = getSuffix(); SimpleHTMLFormatter formatter = new SimpleHTMLFormatter(perfix, suffix); Highlighter highlighter = new Highlighter(formatter, new QueryScorer(query)); return highlighter; }
public List<InteractionOntologyTerm> search(Query query, Sort sort) throws IOException { List<InteractionOntologyTerm> terms = new ArrayList<InteractionOntologyTerm>(); IndexReader indexReader = IndexReader.open(indexDirectory); final IndexSearcher searcher = new IndexSearcher(indexReader); Filter filter = new Filter() { @Override public DocIdSet getDocIdSet(IndexReader indexReader) throws IOException { final DocIdBitSet bitSet = new DocIdBitSet(new BitSet()); bitSet.getBitSet().flip(0, searcher.getIndexReader().numDocs()); return bitSet; } }; final TopDocs hits = searcher.search(query, filter, 30, sort); Formatter formatter = new SimpleHTMLFormatter(); Highlighter highlighter = new Highlighter(formatter, new QueryScorer(query) ); highlighter.setTextFragmenter(new SimpleFragmenter(20)); for (ScoreDoc scoreDoc : hits.scoreDocs) { Document document = searcher.getIndexReader().document(scoreDoc.doc); InteractionOntologyTerm term = createOntologyTerm(document, highlighter); terms.add(term); } searcher.close(); return terms; }
SimpleHTMLFormatter formatter = new SimpleHTMLFormatter(opts.start, opts.end); Highlighter highlighter = new Highlighter(formatter, new QueryScorer(query)); highlighter.setTextFragmenter(new SimpleFragmenter(opts.fragSize));
SimpleHTMLFormatter formatter = new SimpleHTMLFormatter(opts.start, opts.end); Highlighter highlighter = new Highlighter(formatter, new QueryScorer(query)); highlighter.setTextFragmenter(new SimpleFragmenter(opts.fragSize));
formatter = new SimpleHTMLFormatter();
public HighlightingContext createContext( IndexSearcher indexSearcher, Query query) throws IOException { Scorer scorer = new QueryScorer(indexSearcher.rewrite(query)); if (formatter == null) { formatter = new SimpleHTMLFormatter("<" + highlightPreTag + ">", "</" + highlightPostTag + ">"); } if (fragmenter == null) { fragmenter = new SimpleFragmenter(fragmentSize); } Highlighter highlighter = new Highlighter(formatter, encoder, scorer); highlighter.setTextFragmenter(fragmenter); return new HighlightingContext(highlighter); }
Formatter formatter = new SimpleHTMLFormatter(SearchFields.HIGHLIGHTER_PRE_TAG, SearchFields.HIGHLIGHTER_POST_TAG); highlighter = new Highlighter(formatter, new QueryScorer(q));