-Arne- wrote:
Hi Koji,
thanks for your answer. Can you help me a once again? What exactly I
suposse to do?
The concrete program in my mind here:
public class TestHighlightTruncatedSearchQuery {
static Directory dir = new RAMDirectory();
static Analyzer analyzer = new BiGramAnalyzer();
static final String[] DOCS = {
"import org.apache.lucene.analysis.Analyzer;",
"import org.apache.lucene.analysis.TokenStream;",
"import org.apache.lucene.analysis.ngram.NGramTokenizer;",
"import org.apache.lucene.index.IndexWriter;",
"import org.apache.lucene.index.IndexWriter.MaxFieldLength;",
"import org.apache.lucene.store.Directory;",
"import org.apache.lucene.store.RAMDirectory;"
};
static final String F = "f";
public static void main(String[] args) throws Exception {
makeIndex();
searchIndex();
}
static void makeIndex() throws IOException {
IndexWriter writer = new IndexWriter( dir, analyzer, true,
MaxFieldLength.LIMITED );
for( String value : DOCS ){
Document doc = new Document();
doc.add( new Field( F, value, Store.YES, Index.ANALYZED,
TermVector.WITH_POSITIONS_OFFSETS ) );
writer.addDocument( doc );
}
writer.close();
}
static void searchIndex() throws Exception {
IndexSearcher searcher = new IndexSearcher( dir, true );
IndexReader reader = searcher.getIndexReader();
QueryParser parser = new QueryParser( F, analyzer );
// use "Direct" rather than "Direct"
Query query = parser.parse( "Direct" );
FastVectorHighlighter h = new FastVectorHighlighter();
FieldQuery fieldQuery = h.getFieldQuery( query );
TopDocs docs = searcher.search( query, 10 );
for( ScoreDoc scoreDoc : docs.scoreDocs ){
String snippet = h.getBestFragment( fieldQuery, reader,
scoreDoc.doc, F, 100 );
System.out.println( scoreDoc.doc + " : " + snippet );
}
searcher.close();
}
static class BiGramAnalyzer extends Analyzer {
public TokenStream tokenStream(String fieldName, Reader reader) {
return new NGramTokenizer( reader, 2, 2 );
}
}
}
Koji
--
http://www.rondhuit.com/en/
---------------------------------------------------------------------
To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org
For additional commands, e-mail: java-user-h...@lucene.apache.org