You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by si...@apache.org on 2011/03/28 12:50:48 UTC
svn commit: r1086181 [17/20] - in /lucene/dev/branches/docvalues: ./
dev-tools/eclipse/ dev-tools/idea/ dev-tools/idea/.idea/
dev-tools/idea/.idea/libraries/ dev-tools/idea/lucene/ dev-tools/idea/solr/
dev-tools/idea/solr/contrib/analysis-extras/ dev-t...
Modified: lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/LengthFilterFactory.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/LengthFilterFactory.java?rev=1086181&r1=1086180&r2=1086181&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/LengthFilterFactory.java (original)
+++ lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/LengthFilterFactory.java Mon Mar 28 10:50:28 2011
@@ -23,6 +23,14 @@ import org.apache.lucene.analysis.miscel
import java.util.Map;
/**
+ * Factory for {@link LengthFilter}.
+ * <pre class="prettyprint" >
+ * <fieldType name="text_lngth" class="solr.TextField" positionIncrementGap="100">
+ * <analyzer>
+ * <tokenizer class="solr.WhitespaceTokenizerFactory"/>
+ * <filter class="solr.LengthFilterFactory" min="0" max="1" enablePositionIncrements="false"/>
+ * </analyzer>
+ * </fieldType></pre>
* @version $Id$
*/
public class LengthFilterFactory extends BaseTokenFilterFactory {
Modified: lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/LetterTokenizerFactory.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/LetterTokenizerFactory.java?rev=1086181&r1=1086180&r2=1086181&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/LetterTokenizerFactory.java (original)
+++ lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/LetterTokenizerFactory.java Mon Mar 28 10:50:28 2011
@@ -23,6 +23,13 @@ import java.io.Reader;
import java.util.Map;
/**
+ * Factory for {@link LetterTokenizer}.
+ * <pre class="prettyprint" >
+ * <fieldType name="text_letter" class="solr.TextField" positionIncrementGap="100">
+ * <analyzer>
+ * <tokenizer class="solr.LetterTokenizerFactory"/>
+ * </analyzer>
+ * </fieldType></pre>
* @version $Id$
*/
public class LetterTokenizerFactory extends BaseTokenizerFactory {
Modified: lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/LimitTokenCountFilterFactory.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/LimitTokenCountFilterFactory.java?rev=1086181&r1=1086180&r2=1086181&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/LimitTokenCountFilterFactory.java (original)
+++ lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/LimitTokenCountFilterFactory.java Mon Mar 28 10:50:28 2011
@@ -22,6 +22,17 @@ import java.util.Map;
import org.apache.lucene.analysis.TokenStream;
import org.apache.lucene.analysis.miscellaneous.LimitTokenCountFilter;
+/**
+ * Factory for {@link LimitTokenCountFilter}.
+ * <pre class="prettyprint" >
+ * <fieldType name="text_lngthcnt" class="solr.TextField" positionIncrementGap="100">
+ * <analyzer>
+ * <tokenizer class="solr.WhitespaceTokenizerFactory"/>
+ * <filter class="solr.LimitTokenCountFilterFactory" maxTokenCount="10"/>
+ * </analyzer>
+ * </fieldType></pre>
+ * @version $Id$
+ */
public class LimitTokenCountFilterFactory extends BaseTokenFilterFactory {
int maxTokenCount;
Modified: lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/LowerCaseFilterFactory.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/LowerCaseFilterFactory.java?rev=1086181&r1=1086180&r2=1086181&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/LowerCaseFilterFactory.java (original)
+++ lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/LowerCaseFilterFactory.java Mon Mar 28 10:50:28 2011
@@ -23,6 +23,14 @@ import org.apache.lucene.analysis.TokenS
import org.apache.lucene.analysis.core.LowerCaseFilter;
/**
+ * Factory for {@link LowerCaseFilter}.
+ * <pre class="prettyprint" >
+ * <fieldType name="text_lwrcase" class="solr.TextField" positionIncrementGap="100">
+ * <analyzer>
+ * <tokenizer class="solr.WhitespaceTokenizerFactory"/>
+ * <filter class="solr.LowerCaseFilterFactory"/>
+ * </analyzer>
+ * </fieldType></pre>
* @version $Id$
*/
public class LowerCaseFilterFactory extends BaseTokenFilterFactory {
Modified: lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/LowerCaseTokenizerFactory.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/LowerCaseTokenizerFactory.java?rev=1086181&r1=1086180&r2=1086181&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/LowerCaseTokenizerFactory.java (original)
+++ lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/LowerCaseTokenizerFactory.java Mon Mar 28 10:50:28 2011
@@ -23,6 +23,13 @@ import java.io.Reader;
import java.util.Map;
/**
+ * Factory for {@link LowerCaseTokenizer}.
+ * <pre class="prettyprint" >
+ * <fieldType name="text_lwrcase" class="solr.TextField" positionIncrementGap="100">
+ * <analyzer>
+ * <tokenizer class="solr.LowerCaseTokenizerFactory"/>
+ * </analyzer>
+ * </fieldType></pre>
* @version $Id$
*/
public class LowerCaseTokenizerFactory extends BaseTokenizerFactory {
Modified: lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/MappingCharFilterFactory.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/MappingCharFilterFactory.java?rev=1086181&r1=1086180&r2=1086181&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/MappingCharFilterFactory.java (original)
+++ lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/MappingCharFilterFactory.java Mon Mar 28 10:50:28 2011
@@ -32,6 +32,14 @@ import org.apache.solr.common.util.StrUt
import org.apache.solr.util.plugin.ResourceLoaderAware;
/**
+ * Factory for {@link MappingCharFilter}.
+ * <pre class="prettyprint" >
+ * <fieldType name="text_map" class="solr.TextField" positionIncrementGap="100">
+ * <analyzer>
+ * <charFilter class="solr.MappingCharFilterFactory" mapping="mapping.txt"/>
+ * <tokenizer class="solr.WhitespaceTokenizerFactory"/>
+ * </analyzer>
+ * </fieldType></pre>
*
* @version $Id$
* @since Solr 1.4
Modified: lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/NGramFilterFactory.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/NGramFilterFactory.java?rev=1086181&r1=1086180&r2=1086181&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/NGramFilterFactory.java (original)
+++ lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/NGramFilterFactory.java Mon Mar 28 10:50:28 2011
@@ -22,7 +22,15 @@ import org.apache.lucene.analysis.TokenS
import org.apache.lucene.analysis.ngram.NGramTokenFilter;
/**
- * Creates new instances of {@link NGramTokenFilter}.
+ * Factory for {@link NGramTokenFilter}.
+ * <pre class="prettyprint" >
+ * <fieldType name="text_ngrm" class="solr.TextField" positionIncrementGap="100">
+ * <analyzer>
+ * <tokenizer class="solr.WhitespaceTokenizerFactory"/>
+ * <filter class="solr.NGramFilterFactory" minGramSize="1" maxGramSize="2"/>
+ * </analyzer>
+ * </fieldType></pre>
+ * @version $Id$
*/
public class NGramFilterFactory extends BaseTokenFilterFactory {
private int maxGramSize = 0;
Modified: lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/NGramTokenizerFactory.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/NGramTokenizerFactory.java?rev=1086181&r1=1086180&r2=1086181&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/NGramTokenizerFactory.java (original)
+++ lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/NGramTokenizerFactory.java Mon Mar 28 10:50:28 2011
@@ -24,7 +24,14 @@ import java.io.Reader;
import java.util.Map;
/**
- * Creates new instances of {@link NGramTokenizer}.
+ * Factory for {@link NGramTokenizer}.
+ * <pre class="prettyprint" >
+ * <fieldType name="text_ngrm" class="solr.TextField" positionIncrementGap="100">
+ * <analyzer>
+ * <tokenizer class="solr.NGramTokenizerFactory" minGramSize="1" maxGramSize="2"/>
+ * </analyzer>
+ * </fieldType></pre>
+ * @version $Id$
*/
public class NGramTokenizerFactory extends BaseTokenizerFactory {
private int maxGramSize = 0;
Modified: lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/NumericPayloadTokenFilterFactory.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/NumericPayloadTokenFilterFactory.java?rev=1086181&r1=1086180&r2=1086181&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/NumericPayloadTokenFilterFactory.java (original)
+++ lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/NumericPayloadTokenFilterFactory.java Mon Mar 28 10:50:28 2011
@@ -23,7 +23,17 @@ import org.apache.lucene.analysis.payloa
import org.apache.lucene.analysis.TokenStream;
import java.util.Map;
-/** Factory for {@link NumericPayloadTokenFilter} */
+/**
+ * Factory for {@link NumericPayloadTokenFilter}.
+ * <pre class="prettyprint" >
+ * <fieldType name="text_numpayload" class="solr.TextField" positionIncrementGap="100">
+ * <analyzer>
+ * <tokenizer class="solr.WhitespaceTokenizerFactory"/>
+ * <filter class="solr.NumericPayloadTokenFilterFactory" payload="24" typeMatch="word"/>
+ * </analyzer>
+ * </fieldType></pre>
+ * @version $Id$
+ */
public class NumericPayloadTokenFilterFactory extends BaseTokenFilterFactory {
private float payload;
private String typeMatch;
Modified: lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/PathHierarchyTokenizerFactory.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/PathHierarchyTokenizerFactory.java?rev=1086181&r1=1086180&r2=1086181&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/PathHierarchyTokenizerFactory.java (original)
+++ lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/PathHierarchyTokenizerFactory.java Mon Mar 28 10:50:28 2011
@@ -24,6 +24,13 @@ import org.apache.lucene.analysis.path.P
/**
+ * Factory for {@link PathHierarchyTokenizer}.
+ * <pre class="prettyprint" >
+ * <fieldType name="text_path" class="solr.TextField" positionIncrementGap="100">
+ * <analyzer>
+ * <tokenizer class="solr.PathHierarchyTokenizerFactory" delimiter="\" replace="/"/>
+ * </analyzer>
+ * </fieldType></pre>
* @version $Id$
*/
public class PathHierarchyTokenizerFactory extends BaseTokenizerFactory {
Modified: lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/PatternReplaceCharFilterFactory.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/PatternReplaceCharFilterFactory.java?rev=1086181&r1=1086180&r2=1086181&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/PatternReplaceCharFilterFactory.java (original)
+++ lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/PatternReplaceCharFilterFactory.java Mon Mar 28 10:50:28 2011
@@ -25,9 +25,18 @@ import org.apache.lucene.analysis.CharSt
import org.apache.lucene.analysis.pattern.PatternReplaceCharFilter;
/**
+ * Factory for {@link PatternReplaceCharFilter}.
+ * <pre class="prettyprint" >
+ * <fieldType name="text_ptnreplace" class="solr.TextField" positionIncrementGap="100">
+ * <analyzer>
+ * <charFilter class="solr.PatternReplaceCharFilterFactory" pattern="([^a-z])" replacement=""
+ * maxBlockChars="10000" blockDelimiters="|"/>
+ * <tokenizer class="solr.KeywordTokenizerFactory"/>
+ * </analyzer>
+ * </fieldType></pre>
*
* @version $Id$
- * @since Solr 1.5
+ * @since Solr 3.1
*/
public class PatternReplaceCharFilterFactory extends BaseCharFilterFactory {
Modified: lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/PatternReplaceFilterFactory.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/PatternReplaceFilterFactory.java?rev=1086181&r1=1086180&r2=1086181&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/PatternReplaceFilterFactory.java (original)
+++ lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/PatternReplaceFilterFactory.java Mon Mar 28 10:50:28 2011
@@ -24,6 +24,15 @@ import java.util.regex.Pattern;
import java.util.regex.PatternSyntaxException;
/**
+ * Factory for {@link PatternReplaceFilter}.
+ * <pre class="prettyprint" >
+ * <fieldType name="text_ptnreplace" class="solr.TextField" positionIncrementGap="100">
+ * <analyzer>
+ * <tokenizer class="solr.KeywordTokenizerFactory"/>
+ * <filter class="solr.PatternReplaceFilterFactory" pattern="([^a-z])" replacement=""
+ * replace="all"/>
+ * </analyzer>
+ * </fieldType></pre>
* @version $Id$
* @see PatternReplaceFilter
*/
Modified: lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/PatternTokenizerFactory.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/PatternTokenizerFactory.java?rev=1086181&r1=1086180&r2=1086181&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/PatternTokenizerFactory.java (original)
+++ lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/PatternTokenizerFactory.java Mon Mar 28 10:50:28 2011
@@ -28,6 +28,7 @@ import org.apache.solr.common.SolrExcept
/**
+ * Factory for {@link PatternTokenizer}.
* This tokenizer uses regex pattern matching to construct distinct tokens
* for the input stream. It takes two arguments: "pattern" and "group".
* <p/>
@@ -52,6 +53,13 @@ import org.apache.solr.common.SolrExcept
* </p>
* <p>NOTE: This Tokenizer does not output tokens that are of zero length.</p>
*
+ * <pre class="prettyprint" >
+ * <fieldType name="text_ptn" class="solr.TextField" positionIncrementGap="100">
+ * <analyzer>
+ * <tokenizer class="solr.PatternTokenizerFactory" pattern="\'([^\']+)\'" group="1"/>
+ * </analyzer>
+ * </fieldType></pre>
+ *
* @see PatternTokenizer
* @since solr1.2
* @version $Id$
Modified: lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/PersianCharFilterFactory.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/PersianCharFilterFactory.java?rev=1086181&r1=1086180&r2=1086181&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/PersianCharFilterFactory.java (original)
+++ lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/PersianCharFilterFactory.java Mon Mar 28 10:50:28 2011
@@ -21,7 +21,15 @@ import org.apache.lucene.analysis.CharSt
import org.apache.lucene.analysis.fa.PersianCharFilter;
/**
- * Factory for {@link PersianCharFilter}
+ * Factory for {@link PersianCharFilter}.
+ * <pre class="prettyprint" >
+ * <fieldType name="text_fa" class="solr.TextField" positionIncrementGap="100">
+ * <analyzer>
+ * <charFilter class="solr.PersianCharFilterFactory"/>
+ * <tokenizer class="solr.StandardTokenizerFactory"/>
+ * </analyzer>
+ * </fieldType></pre>
+ * @version $Id$
*/
public class PersianCharFilterFactory extends BaseCharFilterFactory {
Modified: lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/PersianNormalizationFilterFactory.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/PersianNormalizationFilterFactory.java?rev=1086181&r1=1086180&r2=1086181&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/PersianNormalizationFilterFactory.java (original)
+++ lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/PersianNormalizationFilterFactory.java Mon Mar 28 10:50:28 2011
@@ -22,7 +22,18 @@ package org.apache.solr.analysis;
import org.apache.lucene.analysis.fa.PersianNormalizationFilter;
import org.apache.lucene.analysis.TokenStream;
-/** Factory for {@link PersianNormalizationFilter} */
+/**
+ * Factory for {@link PersianNormalizationFilter}.
+ * <pre class="prettyprint" >
+ * <fieldType name="text_fanormal" class="solr.TextField" positionIncrementGap="100">
+ * <analyzer>
+ * <charFilter class="solr.PersianCharFilterFactory"/>
+ * <tokenizer class="solr.StandardTokenizerFactory"/>
+ * <filter class="solr.PersianNormalizationFilterFactory"/>
+ * </analyzer>
+ * </fieldType></pre>
+ * @version $Id$
+ */
public class PersianNormalizationFilterFactory extends BaseTokenFilterFactory {
public PersianNormalizationFilter create(TokenStream input) {
return new PersianNormalizationFilter(input);
Modified: lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/PhoneticFilterFactory.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/PhoneticFilterFactory.java?rev=1086181&r1=1086180&r2=1086181&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/PhoneticFilterFactory.java (original)
+++ lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/PhoneticFilterFactory.java Mon Mar 28 10:50:28 2011
@@ -33,6 +33,8 @@ import org.apache.lucene.analysis.phonet
import org.apache.solr.common.SolrException;
/**
+ * Factory for {@link PhoneticFilter}.
+ *
* Create tokens based on phonetic encoders
*
* http://jakarta.apache.org/commons/codec/api-release/org/apache/commons/codec/language/package-summary.html
@@ -41,6 +43,14 @@ import org.apache.solr.common.SolrExcept
* "encoder" required, one of "DoubleMetaphone", "Metaphone", "Soundex", "RefinedSoundex"
*
* "inject" (default=true) add tokens to the stream with the offset=0
+ *
+ * <pre class="prettyprint" >
+ * <fieldType name="text_phonetic" class="solr.TextField" positionIncrementGap="100">
+ * <analyzer>
+ * <tokenizer class="solr.WhitespaceTokenizerFactory"/>
+ * <filter class="solr.PhoneticFilterFactory" encoder="DoubleMetaphone" inject="true"/>
+ * </analyzer>
+ * </fieldType></pre>
*
* @version $Id$
* @see PhoneticFilter
Modified: lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/PorterStemFilterFactory.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/PorterStemFilterFactory.java?rev=1086181&r1=1086180&r2=1086181&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/PorterStemFilterFactory.java (original)
+++ lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/PorterStemFilterFactory.java Mon Mar 28 10:50:28 2011
@@ -21,6 +21,15 @@ import org.apache.lucene.analysis.TokenS
import org.apache.lucene.analysis.en.PorterStemFilter;
/**
+ * Factory for {@link PorterStemFilter}.
+ * <pre class="prettyprint" >
+ * <fieldType name="text_porterstem" class="solr.TextField" positionIncrementGap="100">
+ * <analyzer>
+ * <tokenizer class="solr.StandardTokenizerFactory"/>
+ * <filter class="solr.LowerCaseFilterFactory"/>
+ * <filter class="solr.PorterStemFilterFactory"/>
+ * </analyzer>
+ * </fieldType></pre>
* @version $Id$
*/
public class PorterStemFilterFactory extends BaseTokenFilterFactory {
Modified: lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/PortugueseLightStemFilterFactory.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/PortugueseLightStemFilterFactory.java?rev=1086181&r1=1086180&r2=1086181&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/PortugueseLightStemFilterFactory.java (original)
+++ lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/PortugueseLightStemFilterFactory.java Mon Mar 28 10:50:28 2011
@@ -20,7 +20,18 @@ package org.apache.solr.analysis;
import org.apache.lucene.analysis.TokenStream;
import org.apache.lucene.analysis.pt.PortugueseLightStemFilter;
-/** Factory for {@link PortugueseLightStemFilter} */
+/**
+ * Factory for {@link PortugueseLightStemFilter}.
+ * <pre class="prettyprint" >
+ * <fieldType name="text_ptlgtstem" class="solr.TextField" positionIncrementGap="100">
+ * <analyzer>
+ * <tokenizer class="solr.StandardTokenizerFactory"/>
+ * <filter class="solr.LowerCaseFilterFactory"/>
+ * <filter class="solr.PortugueseLightStemFilterFactory"/>
+ * </analyzer>
+ * </fieldType></pre>
+ * @version $Id$
+ */
public class PortugueseLightStemFilterFactory extends BaseTokenFilterFactory {
public TokenStream create(TokenStream input) {
return new PortugueseLightStemFilter(input);
Modified: lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/PortugueseMinimalStemFilterFactory.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/PortugueseMinimalStemFilterFactory.java?rev=1086181&r1=1086180&r2=1086181&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/PortugueseMinimalStemFilterFactory.java (original)
+++ lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/PortugueseMinimalStemFilterFactory.java Mon Mar 28 10:50:28 2011
@@ -20,7 +20,18 @@ package org.apache.solr.analysis;
import org.apache.lucene.analysis.TokenStream;
import org.apache.lucene.analysis.pt.PortugueseMinimalStemFilter;
-/** Factory for {@link PortugueseMinimalStemFilter} */
+/**
+ * Factory for {@link PortugueseMinimalStemFilter}.
+ * <pre class="prettyprint" >
+ * <fieldType name="text_ptminstem" class="solr.TextField" positionIncrementGap="100">
+ * <analyzer>
+ * <tokenizer class="solr.StandardTokenizerFactory"/>
+ * <filter class="solr.LowerCaseFilterFactory"/>
+ * <filter class="solr.PortugueseMinimalStemFilterFactory"/>
+ * </analyzer>
+ * </fieldType></pre>
+ * @version $Id$
+ */
public class PortugueseMinimalStemFilterFactory extends BaseTokenFilterFactory {
public TokenStream create(TokenStream input) {
return new PortugueseMinimalStemFilter(input);
Modified: lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/PortugueseStemFilterFactory.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/PortugueseStemFilterFactory.java?rev=1086181&r1=1086180&r2=1086181&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/PortugueseStemFilterFactory.java (original)
+++ lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/PortugueseStemFilterFactory.java Mon Mar 28 10:50:28 2011
@@ -20,7 +20,18 @@ package org.apache.solr.analysis;
import org.apache.lucene.analysis.TokenStream;
import org.apache.lucene.analysis.pt.PortugueseStemFilter;
-/** Factory for {@link PortugueseStemFilter} */
+/**
+ * Factory for {@link PortugueseStemFilter}.
+ * <pre class="prettyprint" >
+ * <fieldType name="text_ptstem" class="solr.TextField" positionIncrementGap="100">
+ * <analyzer>
+ * <tokenizer class="solr.StandardTokenizerFactory"/>
+ * <filter class="solr.LowerCaseFilterFactory"/>
+ * <filter class="solr.PortugueseStemFilterFactory"/>
+ * </analyzer>
+ * </fieldType></pre>
+ * @version $Id$
+ */
public class PortugueseStemFilterFactory extends BaseTokenFilterFactory {
public TokenStream create(TokenStream input) {
return new PortugueseStemFilter(input);
Modified: lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/PositionFilterFactory.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/PositionFilterFactory.java?rev=1086181&r1=1086180&r2=1086181&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/PositionFilterFactory.java (original)
+++ lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/PositionFilterFactory.java Mon Mar 28 10:50:28 2011
@@ -23,8 +23,16 @@ import org.apache.lucene.analysis.positi
import java.util.Map;
/**
+ * Factory for {@link PositionFilter}.
* Set the positionIncrement of all tokens to the "positionIncrement", except the first return token which retains its
* original positionIncrement value. The default positionIncrement value is zero.
+ * <pre class="prettyprint" >
+ * <fieldType name="text_position" class="solr.TextField" positionIncrementGap="100">
+ * <analyzer>
+ * <tokenizer class="solr.WhitespaceTokenizerFactory"/>
+ * <filter class="solr.PositionFilterFactory" positionIncrement="0"/>
+ * </analyzer>
+ * </fieldType></pre>
*
* @version $Id$
* @see org.apache.lucene.analysis.position.PositionFilter
Modified: lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/RemoveDuplicatesTokenFilterFactory.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/RemoveDuplicatesTokenFilterFactory.java?rev=1086181&r1=1086180&r2=1086181&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/RemoveDuplicatesTokenFilterFactory.java (original)
+++ lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/RemoveDuplicatesTokenFilterFactory.java Mon Mar 28 10:50:28 2011
@@ -21,6 +21,14 @@ import org.apache.lucene.analysis.TokenS
import org.apache.lucene.analysis.miscellaneous.RemoveDuplicatesTokenFilter;
/**
+ * Factory for {@link RemoveDuplicatesTokenFilter}.
+ * <pre class="prettyprint" >
+ * <fieldType name="text_rmdup" class="solr.TextField" positionIncrementGap="100">
+ * <analyzer>
+ * <tokenizer class="solr.WhitespaceTokenizerFactory"/>
+ * <filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
+ * </analyzer>
+ * </fieldType></pre>
* @version $Id$
*/
public class RemoveDuplicatesTokenFilterFactory extends BaseTokenFilterFactory {
Modified: lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/ReverseStringFilterFactory.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/ReverseStringFilterFactory.java?rev=1086181&r1=1086180&r2=1086181&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/ReverseStringFilterFactory.java (original)
+++ lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/ReverseStringFilterFactory.java Mon Mar 28 10:50:28 2011
@@ -21,7 +21,14 @@ import org.apache.lucene.analysis.TokenS
import org.apache.lucene.analysis.reverse.ReverseStringFilter;
/**
- * A FilterFactory which reverses the input.
+ * Factory for {@link ReverseStringFilter}.
+ * <pre class="prettyprint" >
+ * <fieldType name="text_rvsstr" class="solr.TextField" positionIncrementGap="100">
+ * <analyzer>
+ * <tokenizer class="solr.WhitespaceTokenizerFactory"/>
+ * <filter class="solr.ReverseStringFilterFactory"/>
+ * </analyzer>
+ * </fieldType></pre>
*
* @version $Id$
* @since solr 1.4
Modified: lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/ReversedWildcardFilterFactory.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/ReversedWildcardFilterFactory.java?rev=1086181&r1=1086180&r2=1086181&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/ReversedWildcardFilterFactory.java (original)
+++ lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/ReversedWildcardFilterFactory.java Mon Mar 28 10:50:28 2011
@@ -48,6 +48,18 @@ import org.apache.lucene.analysis.revers
* </ul>
* Note 1: This filter always reverses input tokens during indexing.
* Note 2: Query tokens without wildcard characters will never be reversed.
+ * <pre class="prettyprint" >
+ * <fieldType name="text_rvswc" class="solr.TextField" positionIncrementGap="100">
+ * <analyzer type="index">
+ * <tokenizer class="solr.WhitespaceTokenizerFactory"/>
+ * <filter class="solr.ReversedWildcardFilterFactory" withOriginal="true"
+ * maxPosAsterisk="2" maxPosQuestion="1" minTrailing="2" maxFractionAsterisk="0"/>
+ * </analyzer>
+ * <analyzer type="query">
+ * <tokenizer class="solr.WhitespaceTokenizerFactory"/>
+ * </analyzer>
+ * </fieldType></pre>
+ * @version $Id$
*/
public class ReversedWildcardFilterFactory extends BaseTokenFilterFactory {
Modified: lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/RussianLightStemFilterFactory.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/RussianLightStemFilterFactory.java?rev=1086181&r1=1086180&r2=1086181&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/RussianLightStemFilterFactory.java (original)
+++ lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/RussianLightStemFilterFactory.java Mon Mar 28 10:50:28 2011
@@ -20,7 +20,18 @@ package org.apache.solr.analysis;
import org.apache.lucene.analysis.TokenStream;
import org.apache.lucene.analysis.ru.RussianLightStemFilter;
-/** Factory for {@link RussianLightStemFilter} */
+/**
+ * Factory for {@link RussianLightStemFilter}.
+ * <pre class="prettyprint" >
+ * <fieldType name="text_rulgtstem" class="solr.TextField" positionIncrementGap="100">
+ * <analyzer>
+ * <tokenizer class="solr.StandardTokenizerFactory"/>
+ * <filter class="solr.LowerCaseFilterFactory"/>
+ * <filter class="solr.RussianLightStemFilterFactory"/>
+ * </analyzer>
+ * </fieldType></pre>
+ * @version $Id$
+ */
public class RussianLightStemFilterFactory extends BaseTokenFilterFactory {
public TokenStream create(TokenStream input) {
return new RussianLightStemFilter(input);
Modified: lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/ShingleFilterFactory.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/ShingleFilterFactory.java?rev=1086181&r1=1086180&r2=1086181&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/ShingleFilterFactory.java (original)
+++ lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/ShingleFilterFactory.java Mon Mar 28 10:50:28 2011
@@ -26,7 +26,18 @@ import org.apache.solr.common.SolrExcept
import java.util.Map;
-/** Factory for {@link ShingleFilter} */
+/**
+ * Factory for {@link ShingleFilter}.
+ * <pre class="prettyprint" >
+ * <fieldType name="text_shingle" class="solr.TextField" positionIncrementGap="100">
+ * <analyzer>
+ * <tokenizer class="solr.WhitespaceTokenizerFactory"/>
+ * <filter class="solr.ShingleFilterFactory" minShingleSize="2" maxShingleSize="2"
+ * outputUnigrams="true" outputUnigramsIfNoShingles="false" tokenSeparator=" "/>
+ * </analyzer>
+ * </fieldType></pre>
+ * @version $Id$
+ */
public class ShingleFilterFactory extends BaseTokenFilterFactory {
private int minShingleSize;
private int maxShingleSize;
Modified: lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/SnowballPorterFilterFactory.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/SnowballPorterFilterFactory.java?rev=1086181&r1=1086180&r2=1086181&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/SnowballPorterFilterFactory.java (original)
+++ lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/SnowballPorterFilterFactory.java Mon Mar 28 10:50:28 2011
@@ -32,6 +32,14 @@ import org.tartarus.snowball.SnowballPro
* Factory for {@link SnowballFilter}, with configurable language
* <p>
* Note: Use of the "Lovins" stemmer is not recommended, as it is implemented with reflection.
+ * <pre class="prettyprint" >
+ * <fieldType name="text_snowballstem" class="solr.TextField" positionIncrementGap="100">
+ * <analyzer>
+ * <tokenizer class="solr.StandardTokenizerFactory"/>
+ * <filter class="solr.LowerCaseFilterFactory"/>
+ * <filter class="solr.SnowballPorterFilterFactory" protected="protectedkeyword.txt" language="English"/>
+ * </analyzer>
+ * </fieldType></pre>
*
* @version $Id$
*/
Modified: lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/SpanishLightStemFilterFactory.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/SpanishLightStemFilterFactory.java?rev=1086181&r1=1086180&r2=1086181&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/SpanishLightStemFilterFactory.java (original)
+++ lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/SpanishLightStemFilterFactory.java Mon Mar 28 10:50:28 2011
@@ -20,7 +20,18 @@ package org.apache.solr.analysis;
import org.apache.lucene.analysis.TokenStream;
import org.apache.lucene.analysis.es.SpanishLightStemFilter;
-/** Factory for {@link SpanishLightStemFilter} */
+/**
+ * Factory for {@link SpanishLightStemFilter}.
+ * <pre class="prettyprint" >
+ * <fieldType name="text_eslgtstem" class="solr.TextField" positionIncrementGap="100">
+ * <analyzer>
+ * <tokenizer class="solr.StandardTokenizerFactory"/>
+ * <filter class="solr.LowerCaseFilterFactory"/>
+ * <filter class="solr.SpanishLightStemFilterFactory"/>
+ * </analyzer>
+ * </fieldType></pre>
+ * @version $Id$
+ */
public class SpanishLightStemFilterFactory extends BaseTokenFilterFactory {
public TokenStream create(TokenStream input) {
return new SpanishLightStemFilter(input);
Modified: lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/StandardFilterFactory.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/StandardFilterFactory.java?rev=1086181&r1=1086180&r2=1086181&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/StandardFilterFactory.java (original)
+++ lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/StandardFilterFactory.java Mon Mar 28 10:50:28 2011
@@ -23,6 +23,14 @@ import org.apache.lucene.analysis.TokenS
import org.apache.lucene.analysis.standard.StandardFilter;
/**
+ * Factory for {@link StandardFilter}.
+ * <pre class="prettyprint" >
+ * <fieldType name="text_stndrd" class="solr.TextField" positionIncrementGap="100">
+ * <analyzer>
+ * <tokenizer class="solr.StandardTokenizerFactory"/>
+ * <filter class="solr.StandardFilterFactory"/>
+ * </analyzer>
+ * </fieldType></pre>
* @version $Id$
*/
public class StandardFilterFactory extends BaseTokenFilterFactory {
Modified: lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/StandardTokenizerFactory.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/StandardTokenizerFactory.java?rev=1086181&r1=1086180&r2=1086181&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/StandardTokenizerFactory.java (original)
+++ lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/StandardTokenizerFactory.java Mon Mar 28 10:50:28 2011
@@ -24,6 +24,13 @@ import java.io.Reader;
import java.util.Map;
/**
+ * Factory for {@link StandardTokenizer}.
+ * <pre class="prettyprint" >
+ * <fieldType name="text_stndrd" class="solr.TextField" positionIncrementGap="100">
+ * <analyzer>
+ * <tokenizer class="solr.StandardTokenizerFactory" maxTokenLength="255"/>
+ * </analyzer>
+ * </fieldType></pre>
* @version $Id$
*/
Modified: lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/StemmerOverrideFilterFactory.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/StemmerOverrideFilterFactory.java?rev=1086181&r1=1086180&r2=1086181&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/StemmerOverrideFilterFactory.java (original)
+++ lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/StemmerOverrideFilterFactory.java Mon Mar 28 10:50:28 2011
@@ -28,7 +28,15 @@ import org.apache.solr.common.util.StrUt
import org.apache.solr.util.plugin.ResourceLoaderAware;
/**
- * Factory for {@link StemmerOverrideFilter}
+ * Factory for {@link StemmerOverrideFilter}.
+ * <pre class="prettyprint" >
+ * <fieldType name="text_dicstem" class="solr.TextField" positionIncrementGap="100">
+ * <analyzer>
+ * <tokenizer class="solr.WhitespaceTokenizerFactory"/>
+ * <filter class="solr.StemmerOverrideFilterFactory" dictionary="dictionary.txt" ignoreCase="false"/>
+ * </analyzer>
+ * </fieldType></pre>
+ * @version $Id
*/
public class StemmerOverrideFilterFactory extends BaseTokenFilterFactory implements ResourceLoaderAware {
private CharArrayMap<String> dictionary = null;
Modified: lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/SwedishLightStemFilterFactory.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/SwedishLightStemFilterFactory.java?rev=1086181&r1=1086180&r2=1086181&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/SwedishLightStemFilterFactory.java (original)
+++ lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/SwedishLightStemFilterFactory.java Mon Mar 28 10:50:28 2011
@@ -20,7 +20,18 @@ package org.apache.solr.analysis;
import org.apache.lucene.analysis.TokenStream;
import org.apache.lucene.analysis.sv.SwedishLightStemFilter;
-/** Factory for {@link SwedishLightStemFilter} */
+/**
+ * Factory for {@link SwedishLightStemFilter}.
+ * <pre class="prettyprint" >
+ * <fieldType name="text_svlgtstem" class="solr.TextField" positionIncrementGap="100">
+ * <analyzer>
+ * <tokenizer class="solr.StandardTokenizerFactory"/>
+ * <filter class="solr.LowerCaseFilterFactory"/>
+ * <filter class="solr.SwedishLightStemFilterFactory"/>
+ * </analyzer>
+ * </fieldType></pre>
+ * @version $Id$
+ */
public class SwedishLightStemFilterFactory extends BaseTokenFilterFactory {
public TokenStream create(TokenStream input) {
return new SwedishLightStemFilter(input);
Modified: lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/SynonymFilterFactory.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/SynonymFilterFactory.java?rev=1086181&r1=1086180&r2=1086181&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/SynonymFilterFactory.java (original)
+++ lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/SynonymFilterFactory.java Mon Mar 28 10:50:28 2011
@@ -35,6 +35,15 @@ import java.util.List;
import java.util.Map;
/**
+ * Factory for {@link SynonymFilter}.
+ * <pre class="prettyprint" >
+ * <fieldType name="text_synonym" class="solr.TextField" positionIncrementGap="100">
+ * <analyzer>
+ * <tokenizer class="solr.WhitespaceTokenizerFactory"/>
+ * <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="false"
+ * expand="true" tokenizerFactory="solr.WhitespaceTokenizerFactory"/>
+ * </analyzer>
+ * </fieldType></pre>
* @version $Id$
*/
public class SynonymFilterFactory extends BaseTokenFilterFactory implements ResourceLoaderAware {
Modified: lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/ThaiWordFilterFactory.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/ThaiWordFilterFactory.java?rev=1086181&r1=1086180&r2=1086181&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/ThaiWordFilterFactory.java (original)
+++ lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/ThaiWordFilterFactory.java Mon Mar 28 10:50:28 2011
@@ -22,7 +22,17 @@ import org.apache.lucene.analysis.th.Tha
import org.apache.lucene.analysis.TokenStream;
-/** Factory for {@link ThaiWordFilter} */
+/**
+ * Factory for {@link ThaiWordFilter}.
+ * <pre class="prettyprint" >
+ * <fieldType name="text_thai" class="solr.TextField" positionIncrementGap="100">
+ * <analyzer>
+ * <tokenizer class="solr.StandardTokenizerFactory"/>
+ * <filter class="solr.ThaiWordFilterFactory"/>
+ * </analyzer>
+ * </fieldType></pre>
+ * @version $Id$
+ */
public class ThaiWordFilterFactory extends BaseTokenFilterFactory {
public ThaiWordFilter create(TokenStream input) {
assureMatchVersion();
Modified: lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/TokenOffsetPayloadTokenFilterFactory.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/TokenOffsetPayloadTokenFilterFactory.java?rev=1086181&r1=1086180&r2=1086181&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/TokenOffsetPayloadTokenFilterFactory.java (original)
+++ lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/TokenOffsetPayloadTokenFilterFactory.java Mon Mar 28 10:50:28 2011
@@ -22,7 +22,17 @@ package org.apache.solr.analysis;
import org.apache.lucene.analysis.payloads.TokenOffsetPayloadTokenFilter;
import org.apache.lucene.analysis.TokenStream;
-/** Factory for {@link TokenOffsetPayloadTokenFilter} */
+/**
+ * Factory for {@link TokenOffsetPayloadTokenFilter}.
+ * <pre class="prettyprint" >
+ * <fieldType name="text_tokenoffset" class="solr.TextField" positionIncrementGap="100">
+ * <analyzer>
+ * <tokenizer class="solr.WhitespaceTokenizerFactory"/>
+ * <filter class="solr.TokenOffsetPayloadTokenFilterFactory"/>
+ * </analyzer>
+ * </fieldType></pre>
+ * @version $Id$
+ */
public class TokenOffsetPayloadTokenFilterFactory extends BaseTokenFilterFactory {
public TokenOffsetPayloadTokenFilter create(TokenStream input) {
return new TokenOffsetPayloadTokenFilter(input);
Modified: lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/TrimFilterFactory.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/TrimFilterFactory.java?rev=1086181&r1=1086180&r2=1086181&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/TrimFilterFactory.java (original)
+++ lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/TrimFilterFactory.java Mon Mar 28 10:50:28 2011
@@ -24,6 +24,14 @@ import org.apache.lucene.analysis.miscel
import org.apache.solr.common.SolrException;
/**
+ * Factory for {@link TrimFilter}.
+ * <pre class="prettyprint" >
+ * <fieldType name="text_trm" class="solr.TextField" positionIncrementGap="100">
+ * <analyzer>
+ * <tokenizer class="solr.NGramTokenizerFactory"/>
+ * <filter class="solr.TrimFilterFactory" updateOffsets="false"/>
+ * </analyzer>
+ * </fieldType></pre>
* @version $Id$
* @see TrimFilter
*/
Modified: lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/TurkishLowerCaseFilterFactory.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/TurkishLowerCaseFilterFactory.java?rev=1086181&r1=1086180&r2=1086181&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/TurkishLowerCaseFilterFactory.java (original)
+++ lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/TurkishLowerCaseFilterFactory.java Mon Mar 28 10:50:28 2011
@@ -20,7 +20,17 @@ package org.apache.solr.analysis;
import org.apache.lucene.analysis.TokenStream;
import org.apache.lucene.analysis.tr.TurkishLowerCaseFilter;
-/** Factory for {@link TurkishLowerCaseFilter} */
+/**
+ * Factory for {@link TurkishLowerCaseFilter}.
+ * <pre class="prettyprint" >
+ * <fieldType name="text_trlwr" class="solr.TextField" positionIncrementGap="100">
+ * <analyzer>
+ * <tokenizer class="solr.StandardTokenizerFactory"/>
+ * <filter class="solr.TurkishLowerCaseFilterFactory"/>
+ * </analyzer>
+ * </fieldType></pre>
+ * @version $Id$
+ */
public class TurkishLowerCaseFilterFactory extends BaseTokenFilterFactory {
public TokenStream create(TokenStream input) {
return new TurkishLowerCaseFilter(input);
Modified: lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/TypeAsPayloadTokenFilterFactory.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/TypeAsPayloadTokenFilterFactory.java?rev=1086181&r1=1086180&r2=1086181&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/TypeAsPayloadTokenFilterFactory.java (original)
+++ lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/TypeAsPayloadTokenFilterFactory.java Mon Mar 28 10:50:28 2011
@@ -22,7 +22,17 @@ package org.apache.solr.analysis;
import org.apache.lucene.analysis.payloads.TypeAsPayloadTokenFilter;
import org.apache.lucene.analysis.TokenStream;
-/** Factory for {@link TypeAsPayloadTokenFilter} */
+/**
+ * Factory for {@link TypeAsPayloadTokenFilter}.
+ * <pre class="prettyprint" >
+ * <fieldType name="text_typeaspayload" class="solr.TextField" positionIncrementGap="100">
+ * <analyzer>
+ * <tokenizer class="solr.WhitespaceTokenizerFactory"/>
+ * <filter class="solr.TypeAsPayloadTokenFilterFactory"/>
+ * </analyzer>
+ * </fieldType></pre>
+ * @version $Id$
+ */
public class TypeAsPayloadTokenFilterFactory extends BaseTokenFilterFactory {
public TypeAsPayloadTokenFilter create(TokenStream input) {
return new TypeAsPayloadTokenFilter(input);
Modified: lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/UAX29URLEmailTokenizerFactory.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/UAX29URLEmailTokenizerFactory.java?rev=1086181&r1=1086180&r2=1086181&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/UAX29URLEmailTokenizerFactory.java (original)
+++ lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/UAX29URLEmailTokenizerFactory.java Mon Mar 28 10:50:28 2011
@@ -27,6 +27,13 @@ import java.io.Reader;
import java.util.Map;
/**
+ * Factory for {@link UAX29URLEmailTokenizer}.
+ * <pre class="prettyprint" >
+ * <fieldType name="text_urlemail" class="solr.TextField" positionIncrementGap="100">
+ * <analyzer>
+ * <tokenizer class="solr.UAX29URLEmailTokenizerFactory" maxTokenLength="255"/>
+ * </analyzer>
+ * </fieldType></pre>
* @version $Id$
*
*/
Modified: lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/WhitespaceTokenizerFactory.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/WhitespaceTokenizerFactory.java?rev=1086181&r1=1086180&r2=1086181&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/WhitespaceTokenizerFactory.java (original)
+++ lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/WhitespaceTokenizerFactory.java Mon Mar 28 10:50:28 2011
@@ -23,6 +23,13 @@ import java.io.Reader;
import java.util.Map;
/**
+ * Factory for {@link WhitespaceTokenizer}.
+ * <pre class="prettyprint" >
+ * <fieldType name="text_ws" class="solr.TextField" positionIncrementGap="100">
+ * <analyzer>
+ * <tokenizer class="solr.WhitespaceTokenizerFactory"/>
+ * </analyzer>
+ * </fieldType></pre>
* @version $Id$
*/
public class WhitespaceTokenizerFactory extends BaseTokenizerFactory {
Modified: lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/WikipediaTokenizerFactory.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/WikipediaTokenizerFactory.java?rev=1086181&r1=1086180&r2=1086181&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/WikipediaTokenizerFactory.java (original)
+++ lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/WikipediaTokenizerFactory.java Mon Mar 28 10:50:28 2011
@@ -22,7 +22,16 @@ import java.io.Reader;
import org.apache.lucene.analysis.Tokenizer;
import org.apache.lucene.analysis.wikipedia.WikipediaTokenizer;
-/** Factory for {@link WikipediaTokenizer}*/
+/**
+ * Factory for {@link WikipediaTokenizer}.
+ * <pre class="prettyprint" >
+ * <fieldType name="text_wiki" class="solr.TextField" positionIncrementGap="100">
+ * <analyzer>
+ * <tokenizer class="solr.WikipediaTokenizerFactory"/>
+ * </analyzer>
+ * </fieldType></pre>
+ * @version $Id$
+ */
public class WikipediaTokenizerFactory extends BaseTokenizerFactory {
// TODO: add support for WikipediaTokenizer's advanced options.
public Tokenizer create(Reader input) {
Modified: lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/WordDelimiterFilterFactory.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/WordDelimiterFilterFactory.java?rev=1086181&r1=1086180&r2=1086181&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/WordDelimiterFilterFactory.java (original)
+++ lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/analysis/WordDelimiterFilterFactory.java Mon Mar 28 10:50:28 2011
@@ -37,6 +37,17 @@ import java.io.IOException;
/**
+ * Factory for {@link WordDelimiterFilter}.
+ * <pre class="prettyprint" >
+ * <fieldType name="text_wd" class="solr.TextField" positionIncrementGap="100">
+ * <analyzer>
+ * <tokenizer class="solr.WhitespaceTokenizerFactory"/>
+ * <filter class="solr.WordDelimiterFilterFactory" protected="protectedword.txt"
+ * preserveOriginal="0" splitOnNumerics="1" splitOnCaseChange="1"
+ * catenateWords="0" catenateNumbers="0" catenateAll="0"
+ * generateWordParts="1" generateNumberParts="1" stemEnglishPossessive="1"/>
+ * </analyzer>
+ * </fieldType></pre>
* @version $Id$
*/
public class WordDelimiterFilterFactory extends BaseTokenFilterFactory implements ResourceLoaderAware {
Modified: lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/core/Config.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/core/Config.java?rev=1086181&r1=1086180&r2=1086181&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/core/Config.java (original)
+++ lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/core/Config.java Mon Mar 28 10:50:28 2011
@@ -17,32 +17,40 @@
package org.apache.solr.core;
+import org.apache.lucene.util.Version;
+import org.apache.solr.common.SolrException;
+import org.apache.solr.common.util.DOMUtil;
+import org.apache.solr.common.util.SystemIdResolver;
+import org.apache.solr.common.util.XMLErrorLogger;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import org.w3c.dom.Document;
import org.w3c.dom.Node;
+import org.xml.sax.InputSource;
import org.xml.sax.SAXException;
-import org.apache.solr.common.SolrException;
-import org.apache.solr.common.util.DOMUtil;
+import org.apache.commons.io.IOUtils;
-import javax.xml.parsers.*;
+import javax.xml.namespace.QName;
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.parsers.ParserConfigurationException;
import javax.xml.xpath.XPath;
-import javax.xml.xpath.XPathFactory;
import javax.xml.xpath.XPathConstants;
import javax.xml.xpath.XPathExpressionException;
-import javax.xml.namespace.QName;
-import java.io.*;
+import javax.xml.xpath.XPathFactory;
+import java.io.IOException;
+import java.io.InputStream;
import java.util.Arrays;
import java.util.List;
import java.util.Locale;
import java.util.concurrent.atomic.AtomicBoolean;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.apache.lucene.util.Version;
/**
* @version $Id$
*/
public class Config {
public static final Logger log = LoggerFactory.getLogger(Config.class);
+ private static final XMLErrorLogger xmllog = new XMLErrorLogger(log);
static final XPathFactory xpathFactory = XPathFactory.newInstance();
@@ -63,7 +71,7 @@ public class Config {
{
this( loader, name, null, null );
}
-
+
/**
* Builds a config:
* <p>
@@ -77,13 +85,13 @@ public class Config {
* </p>
* @param loader the resource loader used to obtain an input stream if 'is' is null
* @param name the resource name used if the input stream 'is' is null
- * @param is the resource as a stream
+ * @param is the resource as a SAX InputSource
* @param prefix an optional prefix that will be preprended to all non-absolute xpath expressions
* @throws javax.xml.parsers.ParserConfigurationException
* @throws java.io.IOException
* @throws org.xml.sax.SAXException
*/
- public Config(SolrResourceLoader loader, String name, InputStream is, String prefix) throws ParserConfigurationException, IOException, SAXException
+ public Config(SolrResourceLoader loader, String name, InputSource is, String prefix) throws ParserConfigurationException, IOException, SAXException
{
if( loader == null ) {
loader = new SolrResourceLoader( null );
@@ -91,21 +99,35 @@ public class Config {
this.loader = loader;
this.name = name;
this.prefix = (prefix != null && !prefix.endsWith("/"))? prefix + '/' : prefix;
- InputStream lis = is;
try {
- if (lis == null) {
- lis = loader.openConfig(name);
- }
javax.xml.parsers.DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
+
+ if (is == null) {
+ is = new InputSource(loader.openConfig(name));
+ is.setSystemId(SystemIdResolver.createSystemIdFromResourceName(name));
+ }
+
+ // only enable xinclude, if a SystemId is available
+ if (is.getSystemId() != null) {
+ try {
+ dbf.setXIncludeAware(true);
+ dbf.setNamespaceAware(true);
+ } catch(UnsupportedOperationException e) {
+ log.warn(name + " XML parser doesn't support XInclude option");
+ }
+ }
+
+ final DocumentBuilder db = dbf.newDocumentBuilder();
+ db.setEntityResolver(new SystemIdResolver(loader));
+ db.setErrorHandler(xmllog);
try {
- dbf.setXIncludeAware(true);
- dbf.setNamespaceAware(true);
- } catch(UnsupportedOperationException e) {
- log.warn(name + " XML parser doesn't support XInclude option");
+ doc = db.parse(is);
+ } finally {
+ // some XML parsers are broken and don't close the byte stream (but they should according to spec)
+ IOUtils.closeQuietly(is.getByteStream());
}
- doc = dbf.newDocumentBuilder().parse(lis);
- DOMUtil.substituteProperties(doc, loader.getCoreProperties());
+ DOMUtil.substituteProperties(doc, loader.getCoreProperties());
} catch (ParserConfigurationException e) {
SolrException.log(log, "Exception during parsing file: " + name, e);
throw e;
@@ -115,9 +137,6 @@ public class Config {
} catch( SolrException e ){
SolrException.log(log,"Error in "+name,e);
throw e;
- } finally {
- // if this opens the resource, it also closes it
- if (lis != is) lis.close();
}
}
Modified: lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/core/CoreContainer.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/core/CoreContainer.java?rev=1086181&r1=1086180&r2=1086181&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/core/CoreContainer.java (original)
+++ lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/core/CoreContainer.java Mon Mar 28 10:50:28 2011
@@ -42,6 +42,7 @@ import org.apache.solr.common.params.Cor
import org.apache.solr.common.util.DOMUtil;
import org.apache.solr.common.util.XML;
import org.apache.solr.common.util.FileUtils;
+import org.apache.solr.common.util.SystemIdResolver;
import org.apache.solr.handler.admin.CoreAdminHandler;
import org.apache.solr.schema.IndexSchema;
import org.apache.zookeeper.KeeperException;
@@ -49,6 +50,7 @@ import org.apache.commons.io.IOUtils;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.xml.sax.SAXException;
+import org.xml.sax.InputSource;
/**
@@ -237,7 +239,7 @@ public class CoreContainer
cores.load(solrHome, fconf);
} else {
log.info("no solr.xml file found - using default");
- cores.load(solrHome, new ByteArrayInputStream(DEF_SOLR_XML.getBytes("UTF-8")));
+ cores.load(solrHome, new InputSource(new ByteArrayInputStream(DEF_SOLR_XML.getBytes("UTF-8"))));
cores.configFile = fconf;
}
@@ -285,7 +287,7 @@ public class CoreContainer
*/
public void load(String dir, File configFile ) throws ParserConfigurationException, IOException, SAXException {
this.configFile = configFile;
- this.load(dir, new FileInputStream(configFile));
+ this.load(dir, new InputSource(configFile.toURI().toASCIIString()));
}
/**
@@ -297,125 +299,118 @@ public class CoreContainer
* @throws IOException
* @throws SAXException
*/
- public void load(String dir, InputStream cfgis)
+ public void load(String dir, InputSource cfgis)
throws ParserConfigurationException, IOException, SAXException {
this.loader = new SolrResourceLoader(dir);
solrHome = loader.getInstanceDir();
- try {
- Config cfg = new Config(loader, null, cfgis, null);
- String dcoreName = cfg.get("solr/cores/@defaultCoreName", null);
- if(dcoreName != null) {
- defaultCoreName = dcoreName;
- }
- persistent = cfg.getBool("solr/@persistent", false);
- libDir = cfg.get("solr/@sharedLib", null);
- zkHost = cfg.get("solr/@zkHost" , null);
- adminPath = cfg.get("solr/cores/@adminPath", null);
- shareSchema = cfg.getBool("solr/cores/@shareSchema", false);
- int zkClientTimeout = cfg.getInt("solr/cores/@zkClientTimeout", 10000);
-
- hostPort = System.getProperty("hostPort");
- if (hostPort == null) {
- hostPort = cfg.get("solr/cores/@hostPort", "8983");
- }
+ Config cfg = new Config(loader, null, cfgis, null);
+ String dcoreName = cfg.get("solr/cores/@defaultCoreName", null);
+ if(dcoreName != null) {
+ defaultCoreName = dcoreName;
+ }
+ persistent = cfg.getBool("solr/@persistent", false);
+ libDir = cfg.get("solr/@sharedLib", null);
+ zkHost = cfg.get("solr/@zkHost" , null);
+ adminPath = cfg.get("solr/cores/@adminPath", null);
+ shareSchema = cfg.getBool("solr/cores/@shareSchema", false);
+ int zkClientTimeout = cfg.getInt("solr/cores/@zkClientTimeout", 10000);
+
+ hostPort = System.getProperty("hostPort");
+ if (hostPort == null) {
+ hostPort = cfg.get("solr/cores/@hostPort", "8983");
+ }
- hostContext = cfg.get("solr/cores/@hostContext", "solr");
- host = cfg.get("solr/cores/@host", null);
+ hostContext = cfg.get("solr/cores/@hostContext", "solr");
+ host = cfg.get("solr/cores/@host", null);
- if(shareSchema){
- indexSchemaCache = new ConcurrentHashMap<String ,IndexSchema>();
- }
- adminHandler = cfg.get("solr/cores/@adminHandler", null );
- managementPath = cfg.get("solr/cores/@managementPath", null );
-
- zkClientTimeout = Integer.parseInt(System.getProperty("zkClientTimeout", Integer.toString(zkClientTimeout)));
- initZooKeeper(zkHost, zkClientTimeout);
-
- if (libDir != null) {
- File f = FileUtils.resolvePath(new File(dir), libDir);
- log.info( "loading shared library: "+f.getAbsolutePath() );
- libLoader = SolrResourceLoader.createClassLoader(f, null);
- }
+ if(shareSchema){
+ indexSchemaCache = new ConcurrentHashMap<String ,IndexSchema>();
+ }
+ adminHandler = cfg.get("solr/cores/@adminHandler", null );
+ managementPath = cfg.get("solr/cores/@managementPath", null );
+
+ zkClientTimeout = Integer.parseInt(System.getProperty("zkClientTimeout", Integer.toString(zkClientTimeout)));
+ initZooKeeper(zkHost, zkClientTimeout);
- if (adminPath != null) {
- if (adminHandler == null) {
- coreAdminHandler = new CoreAdminHandler(this);
- } else {
- coreAdminHandler = this.createMultiCoreHandler(adminHandler);
- }
- }
+ if (libDir != null) {
+ File f = FileUtils.resolvePath(new File(dir), libDir);
+ log.info( "loading shared library: "+f.getAbsolutePath() );
+ libLoader = SolrResourceLoader.createClassLoader(f, null);
+ }
- try {
- containerProperties = readProperties(cfg, ((NodeList) cfg.evaluate("solr", XPathConstants.NODESET)).item(0));
- } catch (Throwable e) {
- SolrConfig.severeErrors.add(e);
- SolrException.logOnce(log,null,e);
+ if (adminPath != null) {
+ if (adminHandler == null) {
+ coreAdminHandler = new CoreAdminHandler(this);
+ } else {
+ coreAdminHandler = this.createMultiCoreHandler(adminHandler);
}
+ }
- NodeList nodes = (NodeList)cfg.evaluate("solr/cores/core", XPathConstants.NODESET);
- boolean defaultCoreFound = false;
- for (int i=0; i<nodes.getLength(); i++) {
- Node node = nodes.item(i);
- try {
- String name = DOMUtil.getAttr(node, "name", null);
- if (null == name) {
- throw new SolrException(SolrException.ErrorCode.SERVER_ERROR,
- "Each core in solr.xml must have a 'name'");
- }
- if (name.equals(defaultCoreName)){
- // for the default core we use a blank name,
- // later on attempts to access it by it's full name will
- // be mapped to this.
- name="";
- }
- CoreDescriptor p = new CoreDescriptor(this, name, DOMUtil.getAttr(node, "instanceDir", null));
-
- // deal with optional settings
- String opt = DOMUtil.getAttr(node, "config", null);
+ try {
+ containerProperties = readProperties(cfg, ((NodeList) cfg.evaluate("solr", XPathConstants.NODESET)).item(0));
+ } catch (Throwable e) {
+ SolrConfig.severeErrors.add(e);
+ SolrException.logOnce(log,null,e);
+ }
- if (opt != null) {
- p.setConfigName(opt);
- }
- opt = DOMUtil.getAttr(node, "schema", null);
- if (opt != null) {
- p.setSchemaName(opt);
- }
- if (zkController != null) {
- opt = DOMUtil.getAttr(node, "shard", null);
- if (opt != null && opt.length() > 0) {
- p.getCloudDescriptor().setShardId(opt);
- }
- opt = DOMUtil.getAttr(node, "collection", null);
- if (opt != null) {
- p.getCloudDescriptor().setCollectionName(opt);
- }
- }
- opt = DOMUtil.getAttr(node, "properties", null);
- if (opt != null) {
- p.setPropertiesName(opt);
+ NodeList nodes = (NodeList)cfg.evaluate("solr/cores/core", XPathConstants.NODESET);
+ boolean defaultCoreFound = false;
+ for (int i=0; i<nodes.getLength(); i++) {
+ Node node = nodes.item(i);
+ try {
+ String name = DOMUtil.getAttr(node, "name", null);
+ if (null == name) {
+ throw new SolrException(SolrException.ErrorCode.SERVER_ERROR,
+ "Each core in solr.xml must have a 'name'");
+ }
+ if (name.equals(defaultCoreName)){
+ // for the default core we use a blank name,
+ // later on attempts to access it by it's full name will
+ // be mapped to this.
+ name="";
+ }
+ CoreDescriptor p = new CoreDescriptor(this, name, DOMUtil.getAttr(node, "instanceDir", null));
+
+ // deal with optional settings
+ String opt = DOMUtil.getAttr(node, "config", null);
+
+ if (opt != null) {
+ p.setConfigName(opt);
+ }
+ opt = DOMUtil.getAttr(node, "schema", null);
+ if (opt != null) {
+ p.setSchemaName(opt);
+ }
+ if (zkController != null) {
+ opt = DOMUtil.getAttr(node, "shard", null);
+ if (opt != null && opt.length() > 0) {
+ p.getCloudDescriptor().setShardId(opt);
}
- opt = DOMUtil.getAttr(node, CoreAdminParams.DATA_DIR, null);
+ opt = DOMUtil.getAttr(node, "collection", null);
if (opt != null) {
- p.setDataDir(opt);
+ p.getCloudDescriptor().setCollectionName(opt);
}
-
- p.setCoreProperties(readProperties(cfg, node));
-
- SolrCore core = create(p);
- register(name, core, false);
}
- catch (Throwable ex) {
- SolrConfig.severeErrors.add( ex );
- SolrException.logOnce(log,null,ex);
+ opt = DOMUtil.getAttr(node, "properties", null);
+ if (opt != null) {
+ p.setPropertiesName(opt);
+ }
+ opt = DOMUtil.getAttr(node, CoreAdminParams.DATA_DIR, null);
+ if (opt != null) {
+ p.setDataDir(opt);
}
+
+ p.setCoreProperties(readProperties(cfg, node));
+
+ SolrCore core = create(p);
+ register(name, core, false);
}
- } finally {
- if (cfgis != null) {
- try { cfgis.close(); } catch (Exception xany) {}
+ catch (Throwable ex) {
+ SolrConfig.severeErrors.add( ex );
+ SolrException.logOnce(log,null,ex);
}
}
-
if(zkController != null) {
try {
synchronized (zkController.getZkStateReader().getUpdateLock()) {
@@ -1025,7 +1020,8 @@ public class CoreContainer
ParserConfigurationException, SAXException, KeeperException,
InterruptedException {
byte[] config = zkController.getConfigFileData(zkConfigName, solrConfigFileName);
- InputStream is = new ByteArrayInputStream(config);
+ InputSource is = new InputSource(new ByteArrayInputStream(config));
+ is.setSystemId(SystemIdResolver.createSystemIdFromResourceName(solrConfigFileName));
SolrConfig cfg = solrConfigFileName == null ? new SolrConfig(
resourceLoader, SolrConfig.DEFAULT_CONF_FILE, is) : new SolrConfig(
resourceLoader, solrConfigFileName, is);
@@ -1037,7 +1033,8 @@ public class CoreContainer
SolrConfig config, SolrResourceLoader resourceLoader)
throws KeeperException, InterruptedException {
byte[] configBytes = zkController.getConfigFileData(zkConfigName, schemaName);
- InputStream is = new ByteArrayInputStream(configBytes);
+ InputSource is = new InputSource(new ByteArrayInputStream(configBytes));
+ is.setSystemId(SystemIdResolver.createSystemIdFromResourceName(schemaName));
IndexSchema schema = new IndexSchema(config, schemaName, is);
return schema;
}
Modified: lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/core/SolrConfig.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/core/SolrConfig.java?rev=1086181&r1=1086180&r2=1086181&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/core/SolrConfig.java (original)
+++ lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/core/SolrConfig.java Mon Mar 28 10:50:28 2011
@@ -27,6 +27,7 @@ import org.apache.solr.request.LocalSolr
import org.apache.solr.request.SolrQueryRequest;
import org.apache.solr.request.SolrRequestHandler;
import org.apache.solr.response.QueryResponseWriter;
+import org.apache.solr.response.transform.TransformerFactory;
import org.apache.solr.search.CacheConfig;
import org.apache.solr.search.FastLRUCache;
@@ -45,6 +46,7 @@ import org.slf4j.LoggerFactory;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
+import org.xml.sax.InputSource;
import org.xml.sax.SAXException;
import javax.xml.parsers.ParserConfigurationException;
@@ -102,7 +104,7 @@ public class SolrConfig extends Config {
*@param name the configuration name
*@param is the configuration stream
*/
- public SolrConfig(String name, InputStream is)
+ public SolrConfig(String name, InputSource is)
throws ParserConfigurationException, IOException, SAXException {
this( (SolrResourceLoader) null, name, is );
}
@@ -112,7 +114,7 @@ public class SolrConfig extends Config {
*@param name the configuration name used by the loader if the stream is null
*@param is the configuration stream
*/
- public SolrConfig(String instanceDir, String name, InputStream is)
+ public SolrConfig(String instanceDir, String name, InputSource is)
throws ParserConfigurationException, IOException, SAXException {
this(new SolrResourceLoader(instanceDir), name, is);
}
@@ -124,7 +126,7 @@ public class SolrConfig extends Config {
*@param name the configuration name
*@param is the configuration stream
*/
- SolrConfig(SolrResourceLoader loader, String name, InputStream is)
+ SolrConfig(SolrResourceLoader loader, String name, InputSource is)
throws ParserConfigurationException, IOException, SAXException {
super(loader, name, is, "/config/");
initLibs();
@@ -189,6 +191,7 @@ public class SolrConfig extends Config {
loadPluginInfo(QParserPlugin.class,"queryParser",true, true);
loadPluginInfo(QueryResponseWriter.class,"queryResponseWriter",true, true);
loadPluginInfo(ValueSourceParser.class,"valueSourceParser",true, true);
+ loadPluginInfo(TransformerFactory.class,"transformer",true, true);
loadPluginInfo(SearchComponent.class,"searchComponent",true, true);
loadPluginInfo(QueryConverter.class,"queryConverter",true, true);
@@ -395,7 +398,7 @@ public class SolrConfig extends Config {
* @param type The key is FQN of the plugin class there are a few known types : SolrFormatter, SolrFragmenter
* SolrRequestHandler,QParserPlugin, QueryResponseWriter,ValueSourceParser,
* SearchComponent, QueryConverter, SolrEventListener, DirectoryFactory,
- * IndexDeletionPolicy, IndexReaderFactory
+ * IndexDeletionPolicy, IndexReaderFactory, {@link TransformerFactory}
*/
public List<PluginInfo> getPluginInfos(String type){
List<PluginInfo> result = pluginStore.get(type);
Modified: lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/core/SolrCore.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/core/SolrCore.java?rev=1086181&r1=1086180&r2=1086181&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/core/SolrCore.java (original)
+++ lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/core/SolrCore.java Mon Mar 28 10:50:28 2011
@@ -33,16 +33,7 @@ import org.apache.solr.handler.component
import org.apache.solr.highlight.SolrHighlighter;
import org.apache.solr.request.*;
import org.apache.solr.response.*;
-import org.apache.solr.response.BinaryResponseWriter;
-import org.apache.solr.response.JSONResponseWriter;
-import org.apache.solr.response.PHPResponseWriter;
-import org.apache.solr.response.PHPSerializedResponseWriter;
-import org.apache.solr.response.PythonResponseWriter;
-import org.apache.solr.response.QueryResponseWriter;
-import org.apache.solr.response.RawResponseWriter;
-import org.apache.solr.response.RubyResponseWriter;
-import org.apache.solr.response.SolrQueryResponse;
-import org.apache.solr.response.XMLResponseWriter;
+import org.apache.solr.response.transform.TransformerFactory;
import org.apache.solr.schema.IndexSchema;
import org.apache.solr.search.QParserPlugin;
import org.apache.solr.search.SolrFieldCacheMBean;
@@ -507,6 +498,7 @@ public final class SolrCore implements S
initWriters();
initQParsers();
initValueSourceParsers();
+ initTransformerFactories();
this.searchComponents = Collections.unmodifiableMap(loadSearchComponents());
@@ -1455,6 +1447,34 @@ public final class SolrCore implements S
}
}
}
+
+
+ private final HashMap<String, TransformerFactory> transformerFactories = new HashMap<String, TransformerFactory>();
+
+ /** Configure the TransformerFactory plugins */
+ private void initTransformerFactories() {
+ // Load any transformer factories
+ initPlugins(transformerFactories,TransformerFactory.class);
+
+ // Tell each transformer what its name is
+ for( Map.Entry<String, TransformerFactory> entry : TransformerFactory.defaultFactories.entrySet() ) {
+ try {
+ String name = entry.getKey();
+ if (null == valueSourceParsers.get(name)) {
+ TransformerFactory f = entry.getValue();
+ transformerFactories.put(name, f);
+ // f.init(null); default ones don't need init
+ }
+ } catch (Exception e) {
+ throw new SolrException(SolrException.ErrorCode.SERVER_ERROR, e);
+ }
+ }
+ }
+
+ public TransformerFactory getTransformerFactory(String name) {
+ return transformerFactories.get(name);
+ }
+
/**
* @param registry The map to which the instance should be added to. The key is the name attribute
Modified: lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/handler/AnalysisRequestHandlerBase.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/handler/AnalysisRequestHandlerBase.java?rev=1086181&r1=1086180&r2=1086181&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/handler/AnalysisRequestHandlerBase.java (original)
+++ lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/handler/AnalysisRequestHandlerBase.java Mon Mar 28 10:50:28 2011
@@ -38,7 +38,6 @@ import org.apache.solr.common.SolrExcept
import org.apache.solr.request.SolrQueryRequest;
import org.apache.solr.response.SolrQueryResponse;
import org.apache.solr.schema.FieldType;
-import org.apache.solr.util.ByteUtils;
import org.apache.noggit.CharArr;
@@ -141,12 +140,12 @@ public abstract class AnalysisRequestHan
final Set<BytesRef> tokens = new HashSet<BytesRef>();
final TokenStream tokenStream = analyzer.tokenStream("", new StringReader(query));
final TermToBytesRefAttribute bytesAtt = tokenStream.getAttribute(TermToBytesRefAttribute.class);
+ final BytesRef bytes = bytesAtt.getBytesRef();
try {
tokenStream.reset();
while (tokenStream.incrementToken()) {
- final BytesRef bytes = new BytesRef();
- bytesAtt.toBytesRef(bytes);
- tokens.add(bytes);
+ bytesAtt.fillBytesRef();
+ tokens.add(new BytesRef(bytes));
}
} catch (IOException ioe) {
throw new RuntimeException("Error occured while iterating over tokenstream", ioe);
@@ -236,12 +235,13 @@ public abstract class AnalysisRequestHan
FieldType fieldType = context.getFieldType();
- final BytesRef rawBytes = new BytesRef();
final CharArr textBuf = new CharArr();
for (int i = 0, c = tokens.size(); i < c; i++) {
AttributeSource token = tokens.get(i);
final NamedList<Object> tokenNamedList = new SimpleOrderedMap<Object>();
- token.getAttribute(TermToBytesRefAttribute.class).toBytesRef(rawBytes);
+ final TermToBytesRefAttribute termAtt = token.getAttribute(TermToBytesRefAttribute.class);
+ BytesRef rawBytes = termAtt.getBytesRef();
+ termAtt.fillBytesRef();
textBuf.reset();
fieldType.indexedToReadable(rawBytes, textBuf);
Modified: lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/handler/DocumentAnalysisRequestHandler.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/handler/DocumentAnalysisRequestHandler.java?rev=1086181&r1=1086180&r2=1086181&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/handler/DocumentAnalysisRequestHandler.java (original)
+++ lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/handler/DocumentAnalysisRequestHandler.java Mon Mar 28 10:50:28 2011
@@ -30,6 +30,7 @@ import org.apache.solr.common.util.Conte
import org.apache.solr.common.util.ContentStreamBase;
import org.apache.solr.common.util.NamedList;
import org.apache.solr.common.util.SimpleOrderedMap;
+import org.apache.solr.common.util.XMLErrorLogger;
import org.apache.solr.request.SolrQueryRequest;
import org.apache.solr.schema.FieldType;
import org.apache.solr.schema.IndexSchema;
@@ -78,6 +79,7 @@ import java.util.*;
public class DocumentAnalysisRequestHandler extends AnalysisRequestHandlerBase {
public static final Logger log = LoggerFactory.getLogger(DocumentAnalysisRequestHandler.class);
+ private static final XMLErrorLogger xmllog = new XMLErrorLogger(log);
private static final float DEFAULT_BOOST = 1.0f;
@@ -101,6 +103,7 @@ public class DocumentAnalysisRequestHand
// isimplementation specific.
log.debug("Unable to set the 'reuse-instance' property for the input factory: " + inputFactory);
}
+ inputFactory.setXMLReporter(xmllog);
}
/**
Modified: lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/handler/MoreLikeThisHandler.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/handler/MoreLikeThisHandler.java?rev=1086181&r1=1086180&r2=1086181&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/handler/MoreLikeThisHandler.java (original)
+++ lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/handler/MoreLikeThisHandler.java Mon Mar 28 10:50:28 2011
@@ -77,10 +77,11 @@ public class MoreLikeThisHandler extends
SolrParams params = req.getParams();
// Set field flags
- String fl = params.get(CommonParams.FL);
+ ReturnFields returnFields = new ReturnFields( req );
+ rsp.setReturnFields( returnFields );
int flags = 0;
- if (fl != null) {
- flags |= SolrPluginUtils.setReturnFields(fl, rsp);
+ if (returnFields.wantsScore()) {
+ flags |= SolrIndexSearcher.GET_SCORES;
}
String defType = params.get(QueryParsing.DEFTYPE, QParserPlugin.DEFAULT_QTYPE);
Modified: lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/handler/XmlUpdateRequestHandler.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/handler/XmlUpdateRequestHandler.java?rev=1086181&r1=1086180&r2=1086181&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/handler/XmlUpdateRequestHandler.java (original)
+++ lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/handler/XmlUpdateRequestHandler.java Mon Mar 28 10:50:28 2011
@@ -20,6 +20,7 @@ package org.apache.solr.handler;
import org.apache.solr.common.SolrException;
import org.apache.solr.common.util.NamedList;
import org.apache.solr.common.util.XML;
+import org.apache.solr.common.util.XMLErrorLogger;
import org.apache.solr.core.SolrCore;
import org.apache.solr.request.LocalSolrQueryRequest;
import org.apache.solr.request.SolrQueryRequest;
@@ -40,6 +41,7 @@ import java.util.HashMap;
*/
public class XmlUpdateRequestHandler extends ContentStreamHandlerBase {
public static Logger log = LoggerFactory.getLogger(XmlUpdateRequestHandler.class);
+ private static final XMLErrorLogger xmllog = new XMLErrorLogger(log);
public static final String UPDATE_PROCESSOR = "update.processor";
@@ -78,6 +80,7 @@ public class XmlUpdateRequestHandler ext
// isimplementation specific.
log.debug("Unable to set the 'reuse-instance' property for the input chain: " + inputFactory);
}
+ inputFactory.setXMLReporter(xmllog);
}
@Override
Modified: lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/handler/admin/LukeRequestHandler.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/handler/admin/LukeRequestHandler.java?rev=1086181&r1=1086180&r2=1086181&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/handler/admin/LukeRequestHandler.java (original)
+++ lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/handler/admin/LukeRequestHandler.java Mon Mar 28 10:50:28 2011
@@ -586,7 +586,7 @@ public class LukeRequestHandler extends
public TermHistogram histogram;
TopTermQueue(int size) {
- initialize(size);
+ super(size);
histogram = new TermHistogram();
}
Modified: lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/handler/component/FacetComponent.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/handler/component/FacetComponent.java?rev=1086181&r1=1086180&r2=1086181&view=diff
==============================================================================
--- lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/handler/component/FacetComponent.java (original)
+++ lucene/dev/branches/docvalues/solr/src/java/org/apache/solr/handler/component/FacetComponent.java Mon Mar 28 10:50:28 2011
@@ -222,12 +222,11 @@ public class FacetComponent extends Sear
sreq.params.remove(paramStart + FacetParams.FACET_MINCOUNT);
sreq.params.remove(paramStart + FacetParams.FACET_OFFSET);
+ dff.initialLimit = dff.offset + dff.limit;
+
if(dff.sort.equals(FacetParams.FACET_SORT_COUNT) && dff.limit > 0) {
// set the initial limit higher to increase accuracy
- dff.initialLimit = dff.offset + dff.limit;
dff.initialLimit = (int)(dff.initialLimit * 1.5) + 10;
- } else {
- dff.initialLimit = dff.limit;
}
// Currently this is for testing only and allows overriding of the