X-Git-Url: https://git.mdrn.pl/pylucene.git/blobdiff_plain/a2e61f0c04805cfcb8706176758d1283c7e3a55c..aaeed5504b982cf3545252ab528713250aa33eed:/lucene-java-3.4.0/lucene/contrib/highlighter/src/java/org/apache/lucene/search/vectorhighlight/FastVectorHighlighter.java diff --git a/lucene-java-3.4.0/lucene/contrib/highlighter/src/java/org/apache/lucene/search/vectorhighlight/FastVectorHighlighter.java b/lucene-java-3.4.0/lucene/contrib/highlighter/src/java/org/apache/lucene/search/vectorhighlight/FastVectorHighlighter.java deleted file mode 100644 index bdf84d1..0000000 --- a/lucene-java-3.4.0/lucene/contrib/highlighter/src/java/org/apache/lucene/search/vectorhighlight/FastVectorHighlighter.java +++ /dev/null @@ -1,205 +0,0 @@ -package org.apache.lucene.search.vectorhighlight; - -/** - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import java.io.IOException; - -import org.apache.lucene.index.IndexReader; -import org.apache.lucene.search.Query; -import org.apache.lucene.search.highlight.Encoder; - -/** - * Another highlighter implementation. - * - */ -public class FastVectorHighlighter { - - public static final boolean DEFAULT_PHRASE_HIGHLIGHT = true; - public static final boolean DEFAULT_FIELD_MATCH = true; - private final boolean phraseHighlight; - private final boolean fieldMatch; - private final FragListBuilder fragListBuilder; - private final FragmentsBuilder fragmentsBuilder; - private int phraseLimit = Integer.MAX_VALUE; - - /** - * the default constructor. - */ - public FastVectorHighlighter(){ - this( DEFAULT_PHRASE_HIGHLIGHT, DEFAULT_FIELD_MATCH ); - } - - /** - * a constructor. Using {@link SimpleFragListBuilder} and {@link ScoreOrderFragmentsBuilder}. - * - * @param phraseHighlight true or false for phrase highlighting - * @param fieldMatch true of false for field matching - */ - public FastVectorHighlighter( boolean phraseHighlight, boolean fieldMatch ){ - this( phraseHighlight, fieldMatch, new SimpleFragListBuilder(), new ScoreOrderFragmentsBuilder() ); - } - - /** - * a constructor. A {@link FragListBuilder} and a {@link FragmentsBuilder} can be specified (plugins). - * - * @param phraseHighlight true of false for phrase highlighting - * @param fieldMatch true of false for field matching - * @param fragListBuilder an instance of {@link FragListBuilder} - * @param fragmentsBuilder an instance of {@link FragmentsBuilder} - */ - public FastVectorHighlighter( boolean phraseHighlight, boolean fieldMatch, - FragListBuilder fragListBuilder, FragmentsBuilder fragmentsBuilder ){ - this.phraseHighlight = phraseHighlight; - this.fieldMatch = fieldMatch; - this.fragListBuilder = fragListBuilder; - this.fragmentsBuilder = fragmentsBuilder; - } - - /** - * create a {@link FieldQuery} object. - * - * @param query a query - * @return the created {@link FieldQuery} object - */ - public FieldQuery getFieldQuery( Query query ){ - return new FieldQuery( query, phraseHighlight, fieldMatch ); - } - - /** - * return the best fragment. - * - * @param fieldQuery {@link FieldQuery} object - * @param reader {@link IndexReader} of the index - * @param docId document id to be highlighted - * @param fieldName field of the document to be highlighted - * @param fragCharSize the length (number of chars) of a fragment - * @return the best fragment (snippet) string - * @throws IOException - */ - public final String getBestFragment( final FieldQuery fieldQuery, IndexReader reader, int docId, - String fieldName, int fragCharSize ) throws IOException { - FieldFragList fieldFragList = - getFieldFragList( fragListBuilder, fieldQuery, reader, docId, fieldName, fragCharSize ); - return fragmentsBuilder.createFragment( reader, docId, fieldName, fieldFragList ); - } - - /** - * return the best fragments. - * - * @param fieldQuery {@link FieldQuery} object - * @param reader {@link IndexReader} of the index - * @param docId document id to be highlighted - * @param fieldName field of the document to be highlighted - * @param fragCharSize the length (number of chars) of a fragment - * @param maxNumFragments maximum number of fragments - * @return created fragments or null when no fragments created. - * size of the array can be less than maxNumFragments - * @throws IOException - */ - public final String[] getBestFragments( final FieldQuery fieldQuery, IndexReader reader, int docId, - String fieldName, int fragCharSize, int maxNumFragments ) throws IOException { - FieldFragList fieldFragList = - getFieldFragList( fragListBuilder, fieldQuery, reader, docId, fieldName, fragCharSize ); - return fragmentsBuilder.createFragments( reader, docId, fieldName, fieldFragList, maxNumFragments ); - } - - /** - * return the best fragment. - * - * @param fieldQuery {@link FieldQuery} object - * @param reader {@link IndexReader} of the index - * @param docId document id to be highlighted - * @param fieldName field of the document to be highlighted - * @param fragCharSize the length (number of chars) of a fragment - * @param fragListBuilder {@link FragListBuilder} object - * @param fragmentsBuilder {@link FragmentsBuilder} object - * @param preTags pre-tags to be used to highlight terms - * @param postTags post-tags to be used to highlight terms - * @param encoder an encoder that generates encoded text - * @return the best fragment (snippet) string - * @throws IOException - */ - public final String getBestFragment( final FieldQuery fieldQuery, IndexReader reader, int docId, - String fieldName, int fragCharSize, - FragListBuilder fragListBuilder, FragmentsBuilder fragmentsBuilder, - String[] preTags, String[] postTags, Encoder encoder ) throws IOException { - FieldFragList fieldFragList = getFieldFragList( fragListBuilder, fieldQuery, reader, docId, fieldName, fragCharSize ); - return fragmentsBuilder.createFragment( reader, docId, fieldName, fieldFragList, preTags, postTags, encoder ); - } - - /** - * return the best fragments. - * - * @param fieldQuery {@link FieldQuery} object - * @param reader {@link IndexReader} of the index - * @param docId document id to be highlighted - * @param fieldName field of the document to be highlighted - * @param fragCharSize the length (number of chars) of a fragment - * @param maxNumFragments maximum number of fragments - * @param fragListBuilder {@link FragListBuilder} object - * @param fragmentsBuilder {@link FragmentsBuilder} object - * @param preTags pre-tags to be used to highlight terms - * @param postTags post-tags to be used to highlight terms - * @param encoder an encoder that generates encoded text - * @return created fragments or null when no fragments created. - * size of the array can be less than maxNumFragments - * @throws IOException - */ - public final String[] getBestFragments( final FieldQuery fieldQuery, IndexReader reader, int docId, - String fieldName, int fragCharSize, int maxNumFragments, - FragListBuilder fragListBuilder, FragmentsBuilder fragmentsBuilder, - String[] preTags, String[] postTags, Encoder encoder ) throws IOException { - FieldFragList fieldFragList = - getFieldFragList( fragListBuilder, fieldQuery, reader, docId, fieldName, fragCharSize ); - return fragmentsBuilder.createFragments( reader, docId, fieldName, fieldFragList, maxNumFragments, - preTags, postTags, encoder ); - } - - private FieldFragList getFieldFragList( FragListBuilder fragListBuilder, - final FieldQuery fieldQuery, IndexReader reader, int docId, - String fieldName, int fragCharSize ) throws IOException { - FieldTermStack fieldTermStack = new FieldTermStack( reader, docId, fieldName, fieldQuery ); - FieldPhraseList fieldPhraseList = new FieldPhraseList( fieldTermStack, fieldQuery, phraseLimit ); - return fragListBuilder.createFieldFragList( fieldPhraseList, fragCharSize ); - } - - /** - * return whether phraseHighlight or not. - * - * @return whether phraseHighlight or not - */ - public boolean isPhraseHighlight(){ return phraseHighlight; } - - /** - * return whether fieldMatch or not. - * - * @return whether fieldMatch or not - */ - public boolean isFieldMatch(){ return fieldMatch; } - - /** - * @return the maximum number of phrases to analyze when searching for the highest-scoring phrase. - */ - public int getPhraseLimit () { return phraseLimit; } - - /** - * set the maximum number of phrases to analyze when searching for the highest-scoring phrase. - * The default is unlimited (Integer.MAX_VALUE). - */ - public void setPhraseLimit (int phraseLimit) { this.phraseLimit = phraseLimit; } -}