You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-commits@lucene.apache.org by gs...@apache.org on 2008/01/02 16:30:43 UTC
svn commit: r608126 -
/lucene/java/trunk/contrib/highlighter/src/java/org/apache/lucene/search/highlight/package.html
Author: gsingers
Date: Wed Jan 2 07:30:40 2008
New Revision: 608126
URL: http://svn.apache.org/viewvc?rev=608126&view=rev
Log:
LUCENE-1114: Updated example
Modified:
lucene/java/trunk/contrib/highlighter/src/java/org/apache/lucene/search/highlight/package.html
Modified: lucene/java/trunk/contrib/highlighter/src/java/org/apache/lucene/search/highlight/package.html
URL: http://svn.apache.org/viewvc/lucene/java/trunk/contrib/highlighter/src/java/org/apache/lucene/search/highlight/package.html?rev=608126&r1=608125&r2=608126&view=diff
==============================================================================
--- lucene/java/trunk/contrib/highlighter/src/java/org/apache/lucene/search/highlight/package.html (original)
+++ lucene/java/trunk/contrib/highlighter/src/java/org/apache/lucene/search/highlight/package.html Wed Jan 2 07:30:40 2008
@@ -10,20 +10,35 @@
<h2>Example Usage</h2>
<pre>
- IndexSearcher searcher = new IndexSearcher(ramDir);
- Query query = QueryParser.parse("Kenne*", FIELD_NAME, analyzer);
- query = query.rewrite(reader); //required to expand search terms
- Hits hits = searcher.search(query);
+ //... Above, create documents with two fields, one with term vectors (tv) and one without (notv)
+ IndexSearcher searcher = new IndexSearcher(directory);
+ QueryParser parser = new QueryParser("notv", analyzer);
+ Query query = parser.parse("million");
+ //query = query.rewrite(reader); //required to expand search terms
+ Hits hits = searcher.search(query);
- Highlighter highlighter = new Highlighter(this, new QueryScorer(query));
- for (int i = 0; i < hits.length(); i++)
- {
- String text = hits.doc(i).get(FIELD_NAME);
- TokenStream tokenStream = analyzer.tokenStream(FIELD_NAME, new StringReader(text));
- // Get 3 best fragments and seperate with a "..."
- String result = highlighter.getBestFragments(tokenStream, text, 3, "...");
- System.out.println(result);
- }
+ SimpleHTMLFormatter htmlFormatter = new SimpleHTMLFormatter();
+ Highlighter highlighter = new Highlighter(htmlFormatter, new QueryScorer(query));
+ for (int i = 0; i < 10; i++) {
+ String text = hits.doc(i).get("notv");
+ TokenStream tokenStream = TokenSources.getAnyTokenStream(searcher.getIndexReader(), hits.id(i), "notv", analyzer);
+ TextFragment[] frag = highlighter.getBestTextFragments(tokenStream, text, false, 10);//highlighter.getBestFragments(tokenStream, text, 3, "...");
+ for (int j = 0; j < frag.length; j++) {
+ if ((frag[j] != null) && (frag[j].getScore() > 0)) {
+ System.out.println((frag[j].toString()));
+ }
+ }
+ //Term vector
+ text = hits.doc(i).get("tv");
+ tokenStream = TokenSources.getAnyTokenStream(searcher.getIndexReader(), hits.id(i), "tv", analyzer);
+ frag = highlighter.getBestTextFragments(tokenStream, text, false, 10);
+ for (int j = 0; j < frag.length; j++) {
+ if ((frag[j] != null) && (frag[j].getScore() > 0)) {
+ System.out.println((frag[j].toString()));
+ }
+ }
+ System.out.println("-------------");
+ }
</pre>
<h2>New features 06/02/2005</h2>