final IndexSearcher searcher = state.borrowSearcher(isStaleOk(req)); final String etag = state.getEtag(); final FastVectorHighlighter fvh = new FastVectorHighlighter(true, true); final JSONArray result = new JSONArray(); try {
FastVectorHighlighter highlighter = new FastVectorHighlighter(true, true); String highlightedResult = highlighter.getBestFragment( highlighter.getFieldQuery(myQuery), indexReader, docId, CONTENT_FIELD_NAME, 50 //char length of fragment );
cache.fvh = new org.apache.lucene.search.vectorhighlight.FastVectorHighlighter();
@Override public String[] searchInDocument(String searchTerm, String id) { // sanity check if (searchTerm == null || id == null || searchTerm.isEmpty() || id.isEmpty()) return new String[]{}; try { DirectoryReader iReader = DirectoryReader.open(directory); IndexSearcher iSearcher = new IndexSearcher(iReader); // only search content MultiFieldQueryParser parser = new MultiFieldQueryParser(new String[]{"content"}, analyzer); // set operator and contain by id parser.setDefaultOperator(QueryParser.Operator.AND); Query query = parser.parse(searchTerm); Filter filter = new QueryWrapperFilter(new TermQuery(new Term("id", id))); // do search, maximum of 1 document TopDocs topDocs = iSearcher.search(query, filter, 1); if (topDocs.scoreDocs.length > 0) { ScoreDoc scoreDoc = topDocs.scoreDocs[0]; // get highlighted text FastVectorHighlighter highlighter = new FastVectorHighlighter(); FieldQuery fieldQuery = highlighter.getFieldQuery(new QueryParser("content", analyzer).parse(searchTerm), iReader); // return max of 100 highlighted elements return highlighter.getBestFragments(fieldQuery, iReader, scoreDoc.doc, "content", 100, 100); } } catch (Throwable e) { logger.error("Error in search.", e); } return new String[]{}; }
FastVectorHighlighter highlighter = new FastVectorHighlighter(); FieldQuery fieldQuery = null;
cache.fvh = new org.apache.lucene.search.vectorhighlight.FastVectorHighlighter();
cache.fvh = new org.apache.lucene.search.vectorhighlight.FastVectorHighlighter();
cache.fvh = new org.apache.lucene.search.vectorhighlight.FastVectorHighlighter();