You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by bu...@apache.org on 2011/02/22 02:01:11 UTC
svn commit: r1073192 [25/32] - in /lucene/dev/branches/realtime_search: ./
dev-tools/eclipse/ dev-tools/idea/.idea/ dev-tools/idea/lucene/contrib/ant/
dev-tools/idea/lucene/contrib/demo/
dev-tools/idea/lucene/contrib/highlighter/ dev-tools/idea/lucene/...
Modified: lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/handler/component/QueryElevationComponent.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/handler/component/QueryElevationComponent.java?rev=1073192&r1=1073191&r2=1073192&view=diff
==============================================================================
--- lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/handler/component/QueryElevationComponent.java (original)
+++ lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/handler/component/QueryElevationComponent.java Tue Feb 22 01:00:39 2011
@@ -474,6 +474,7 @@ class ElevationComparatorSource extends
this.priority = boosts;
}
+ @Override
public FieldComparator newComparator(final String fieldname, final int numHits, int sortPos, boolean reversed) throws IOException {
return new FieldComparator() {
@@ -482,10 +483,12 @@ class ElevationComparatorSource extends
int bottomVal;
private final BytesRef tempBR = new BytesRef();
+ @Override
public int compare(int slot1, int slot2) {
return values[slot2] - values[slot1]; // values will be small enough that there is no overflow concern
}
+ @Override
public void setBottom(int slot) {
bottomVal = values[slot];
}
@@ -496,19 +499,23 @@ class ElevationComparatorSource extends
return prio == null ? 0 : prio.intValue();
}
+ @Override
public int compareBottom(int doc) throws IOException {
return docVal(doc) - bottomVal;
}
+ @Override
public void copy(int slot, int doc) throws IOException {
values[slot] = docVal(doc);
}
+ @Override
public FieldComparator setNextReader(AtomicReaderContext context) throws IOException {
idIndex = FieldCache.DEFAULT.getTermsIndex(context.reader, fieldname);
return this;
}
+ @Override
public Comparable value(int slot) {
return values[slot];
}
Modified: lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/handler/component/ShardDoc.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/handler/component/ShardDoc.java?rev=1073192&r1=1073191&r2=1073192&view=diff
==============================================================================
--- lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/handler/component/ShardDoc.java (original)
+++ lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/handler/component/ShardDoc.java Tue Feb 22 01:00:39 2011
@@ -56,6 +56,7 @@ public class ShardDoc {
int positionInResponse;
// the ordinal position in the merged response arraylist
+ @Override
public String toString(){
return "id="+id
+" ,score="+score
@@ -226,6 +227,7 @@ class ShardFieldSortedHitQueue extends P
// the negative sign on the final compareTo().
Comparator comparatorNatural(String fieldName) {
return new ShardComparator(fieldName) {
+ @Override
public final int compare(final Object o1, final Object o2) {
ShardDoc sd1 = (ShardDoc) o1;
ShardDoc sd2 = (ShardDoc) o2;
@@ -247,6 +249,7 @@ class ShardFieldSortedHitQueue extends P
Locale locale) {
final Collator collator = Collator.getInstance(locale);
return new ShardComparator(fieldName) {
+ @Override
public final int compare(final Object o1, final Object o2) {
ShardDoc sd1 = (ShardDoc) o1;
ShardDoc sd2 = (ShardDoc) o2;
@@ -266,6 +269,7 @@ class ShardFieldSortedHitQueue extends P
Comparator comparatorMissingStringLast(final String fieldName) {
return new ShardComparator(fieldName) {
+ @Override
public final int compare(final Object o1, final Object o2) {
ShardDoc sd1 = (ShardDoc) o1;
ShardDoc sd2 = (ShardDoc) o2;
Modified: lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/handler/component/ShardRequest.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/handler/component/ShardRequest.java?rev=1073192&r1=1073191&r2=1073192&view=diff
==============================================================================
--- lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/handler/component/ShardRequest.java (original)
+++ lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/handler/component/ShardRequest.java Tue Feb 22 01:00:39 2011
@@ -56,6 +56,7 @@ public class ShardRequest {
// this would work well if we ever transitioned to using internal ids and
// didn't require a uniqueId
+ @Override
public String toString() {
return "ShardRequest:{params=" + params
+ ", purpose=" + Integer.toHexString(purpose)
Modified: lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/handler/component/ShardResponse.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/handler/component/ShardResponse.java?rev=1073192&r1=1073191&r2=1073192&view=diff
==============================================================================
--- lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/handler/component/ShardResponse.java (original)
+++ lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/handler/component/ShardResponse.java Tue Feb 22 01:00:39 2011
@@ -27,6 +27,7 @@ public final class ShardResponse {
private Throwable exception;
private SolrResponse rsp;
+ @Override
public String toString() {
return "ShardResponse:{shard="+shard+",shardAddress="+shardAddress
+"\n\trequest=" + req
Modified: lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/handler/component/TermVectorComponent.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/handler/component/TermVectorComponent.java?rev=1073192&r1=1073191&r2=1073192&view=diff
==============================================================================
--- lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/handler/component/TermVectorComponent.java (original)
+++ lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/handler/component/TermVectorComponent.java Tue Feb 22 01:00:39 2011
@@ -61,6 +61,20 @@ import java.util.Map;
* term, frequency, position, offset, IDF.
* <p/>
* <b>Note</b> Returning IDF can be expensive.
+ *
+ * <pre class="prettyprint">
+ * <searchComponent name="tvComponent" class="solr.TermVectorComponent"/>
+ *
+ * <requestHandler name="/terms" class="solr.SearchHandler">
+ * <lst name="defaults">
+ * <bool name="tv">true</bool>
+ * </lst>
+ * <arr name="last-component">
+ * <str>tvComponent</str>
+ * </arr>
+ * </requestHandler></pre>
+ *
+ * @version $Id$
*/
public class TermVectorComponent extends SearchComponent implements SolrCoreAware {
@@ -71,6 +85,7 @@ public class TermVectorComponent extends
public static final String TERM_VECTORS = "termVectors";
+ @Override
public void process(ResponseBuilder rb) throws IOException {
SolrParams params = rb.req.getParams();
if (!params.getBool(COMPONENT_NAME, false)) {
@@ -288,6 +303,7 @@ public class TermVectorComponent extends
this.reader = reader;
}
+ @Override
public void map(BytesRef term, int frequency, TermVectorOffsetInfo[] offsets, int[] positions) {
NamedList<Object> termInfo = new NamedList<Object>();
fieldNL.add(term.utf8ToString(), termInfo);
@@ -336,6 +352,7 @@ public class TermVectorComponent extends
return result;
}
+ @Override
public void setExpectations(String field, int numTerms, boolean storeOffsets, boolean storePositions) {
if (fieldOptions.docFreq == true && reader != null) {
@@ -358,6 +375,7 @@ public class TermVectorComponent extends
}
}
+ @Override
public void prepare(ResponseBuilder rb) throws IOException {
}
@@ -374,18 +392,22 @@ public class TermVectorComponent extends
}
+ @Override
public String getVersion() {
return "$Revision$";
}
+ @Override
public String getSourceId() {
return "$Id$";
}
+ @Override
public String getSource() {
return "$URL$";
}
+ @Override
public String getDescription() {
return "A Component for working with Term Vectors";
}
Modified: lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/handler/component/TermsComponent.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/handler/component/TermsComponent.java?rev=1073192&r1=1073191&r2=1073192&view=diff
==============================================================================
--- lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/handler/component/TermsComponent.java (original)
+++ lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/handler/component/TermsComponent.java Tue Feb 22 01:00:39 2011
@@ -41,9 +41,22 @@ import java.util.regex.Pattern;
/**
* Return TermEnum information, useful for things like auto suggest.
+ *
+ * <pre class="prettyprint">
+ * <searchComponent name="termsComponent" class="solr.TermsComponent"/>
+ *
+ * <requestHandler name="/terms" class="solr.SearchHandler">
+ * <lst name="defaults">
+ * <bool name="terms">true</bool>
+ * </lst>
+ * <arr name="components">
+ * <str>termsComponent</str>
+ * </arr>
+ * </requestHandler></pre>
*
* @see org.apache.solr.common.params.TermsParams
* See Lucene's TermEnum class
+ * @version $Id$
*/
public class TermsComponent extends SearchComponent {
public static final int UNLIMITED_MAX_COUNT = -1;
@@ -68,6 +81,7 @@ public class TermsComponent extends Sear
}
}
+ @Override
public void process(ResponseBuilder rb) throws IOException {
SolrParams params = rb.req.getParams();
if (!params.getBool(TermsParams.TERMS, false)) return;
@@ -463,18 +477,22 @@ public class TermsComponent extends Sear
}
}
+ @Override
public String getVersion() {
return "$Revision$";
}
+ @Override
public String getSourceId() {
return "$Id$";
}
+ @Override
public String getSource() {
return "$URL$";
}
+ @Override
public String getDescription() {
return "A Component for working with Term Enumerators";
}
Modified: lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/highlight/DefaultSolrHighlighter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/highlight/DefaultSolrHighlighter.java?rev=1073192&r1=1073191&r2=1073192&view=diff
==============================================================================
--- lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/highlight/DefaultSolrHighlighter.java (original)
+++ lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/highlight/DefaultSolrHighlighter.java Tue Feb 22 01:00:39 2011
@@ -120,6 +120,7 @@ public class DefaultSolrHighlighter exte
}
//just for back-compat with the deprecated method
private boolean initialized = false;
+ @Override
@Deprecated
public void initalize( SolrConfig config) {
if (initialized) return;
@@ -333,6 +334,7 @@ public class DefaultSolrHighlighter exte
* @return NamedList containing a NamedList for each document, which in
* turns contains sets (field, summary) pairs.
*/
+ @Override
@SuppressWarnings("unchecked")
public NamedList<Object> doHighlighting(DocList docs, Query query, SolrQueryRequest req, String[] defaultFields) throws IOException {
SolrParams params = req.getParams();
@@ -639,6 +641,7 @@ class TermOffsetsTokenStream {
this.length = length;
}
+ @Override
public boolean incrementToken() throws IOException {
while( true ){
if( bufferedToken == null ) {
Modified: lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/highlight/GapFragmenter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/highlight/GapFragmenter.java?rev=1073192&r1=1073191&r2=1073192&view=diff
==============================================================================
--- lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/highlight/GapFragmenter.java (original)
+++ lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/highlight/GapFragmenter.java Tue Feb 22 01:00:39 2011
@@ -92,6 +92,7 @@ class LuceneGapFragmenter extends Simple
/* (non-Javadoc)
* @see org.apache.lucene.search.highlight.TextFragmenter#start(java.lang.String)
*/
+ @Override
public void start(String originalText, TokenStream tokenStream) {
offsetAtt = tokenStream.getAttribute(OffsetAttribute.class);
posIncAtt = tokenStream.getAttribute(PositionIncrementAttribute.class);
@@ -101,6 +102,7 @@ class LuceneGapFragmenter extends Simple
/* (non-Javadoc)
* @see org.apache.lucene.search.highlight.TextFragmenter#isNewFragment(org.apache.lucene.analysis.Token)
*/
+ @Override
public boolean isNewFragment() {
int endOffset = offsetAtt.endOffset();
boolean isNewFrag =
Modified: lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/highlight/RegexFragmenter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/highlight/RegexFragmenter.java?rev=1073192&r1=1073191&r2=1073192&view=diff
==============================================================================
--- lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/highlight/RegexFragmenter.java (original)
+++ lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/highlight/RegexFragmenter.java Tue Feb 22 01:00:39 2011
@@ -54,6 +54,7 @@ public class RegexFragmenter extends Hig
protected String defaultPatternRaw;
protected Pattern defaultPattern;
+ @Override
public void init(NamedList args) {
super.init(args);
defaultPatternRaw = LuceneRegexFragmenter.DEFAULT_PATTERN_RAW;
Modified: lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/request/PerSegmentSingleValuedFaceting.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/request/PerSegmentSingleValuedFaceting.java?rev=1073192&r1=1073191&r2=1073192&view=diff
==============================================================================
--- lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/request/PerSegmentSingleValuedFaceting.java (original)
+++ lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/request/PerSegmentSingleValuedFaceting.java Tue Feb 22 01:00:39 2011
@@ -1,3 +1,20 @@
+/**
+ * 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.
+ */
+
package org.apache.solr.request;
import org.apache.lucene.index.IndexReader.AtomicReaderContext;
Modified: lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/request/ServletSolrParams.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/request/ServletSolrParams.java?rev=1073192&r1=1073191&r2=1073192&view=diff
==============================================================================
--- lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/request/ServletSolrParams.java (original)
+++ lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/request/ServletSolrParams.java Tue Feb 22 01:00:39 2011
@@ -29,6 +29,7 @@ public class ServletSolrParams extends M
super(req.getParameterMap());
}
+ @Override
public String get(String name) {
String[] arr = map.get(name);
if (arr==null) return null;
Modified: lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/request/SimpleFacets.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/request/SimpleFacets.java?rev=1073192&r1=1073191&r2=1073192&view=diff
==============================================================================
--- lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/request/SimpleFacets.java (original)
+++ lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/request/SimpleFacets.java Tue Feb 22 01:00:39 2011
@@ -779,8 +779,9 @@ public class SimpleFacets {
* SolrParams
*
* @see FacetParams#FACET_DATE
+ * @deprecated Use getFacetRangeCounts which is more generalized
*/
-
+ @Deprecated
public NamedList<Object> getFacetDateCounts()
throws IOException, ParseException {
@@ -802,6 +803,10 @@ public class SimpleFacets {
return resOuter;
}
+ /**
+ * @deprecated Use getFacetRangeCounts which is more generalized
+ */
+ @Deprecated
public void getFacetDateCounts(String dateFacet, NamedList<Object> resOuter)
throws IOException, ParseException {
@@ -1031,7 +1036,7 @@ public class SimpleFacets {
final String f = sf.getName();
final NamedList<Object> res = new SimpleOrderedMap<Object>();
- final NamedList<Integer> counts = new SimpleOrderedMap<Integer>();
+ final NamedList<Integer> counts = new NamedList<Integer>();
res.add("counts", counts);
final T start = calc.getValue(required.getFieldParam(f,FacetParams.FACET_RANGE_START));
@@ -1158,6 +1163,10 @@ public class SimpleFacets {
return searcher.numDocs(rangeQ ,base);
}
+ /**
+ * @deprecated Use rangeCount(SchemaField,String,String,boolean,boolean) which is more generalized
+ */
+ @Deprecated
protected int rangeCount(SchemaField sf, Date low, Date high,
boolean iLow, boolean iHigh) throws IOException {
Query rangeQ = ((DateField)(sf.getType())).getRangeQuery(null, sf,low,high,iLow,iHigh);
@@ -1177,9 +1186,11 @@ public class SimpleFacets {
}
public K key;
public V val;
+ @Override
public int hashCode() {
return key.hashCode() ^ val.hashCode();
}
+ @Override
public boolean equals(Object o) {
if (! (o instanceof CountPair)) return false;
CountPair<?,?> that = (CountPair<?,?>) o;
@@ -1290,9 +1301,11 @@ public class SimpleFacets {
extends RangeEndpointCalculator<Float> {
public FloatRangeEndpointCalculator(final SchemaField f) { super(f); }
+ @Override
protected Float parseVal(String rawval) {
return Float.valueOf(rawval);
}
+ @Override
public Float parseAndAddGap(Float value, String gap) {
return new Float(value.floatValue() + Float.valueOf(gap).floatValue());
}
@@ -1301,9 +1314,11 @@ public class SimpleFacets {
extends RangeEndpointCalculator<Double> {
public DoubleRangeEndpointCalculator(final SchemaField f) { super(f); }
+ @Override
protected Double parseVal(String rawval) {
return Double.valueOf(rawval);
}
+ @Override
public Double parseAndAddGap(Double value, String gap) {
return new Double(value.floatValue() + Double.valueOf(gap).floatValue());
}
@@ -1312,9 +1327,11 @@ public class SimpleFacets {
extends RangeEndpointCalculator<Integer> {
public IntegerRangeEndpointCalculator(final SchemaField f) { super(f); }
+ @Override
protected Integer parseVal(String rawval) {
return Integer.valueOf(rawval);
}
+ @Override
public Integer parseAndAddGap(Integer value, String gap) {
return new Integer(value.intValue() + Integer.valueOf(gap).intValue());
}
@@ -1323,9 +1340,11 @@ public class SimpleFacets {
extends RangeEndpointCalculator<Long> {
public LongRangeEndpointCalculator(final SchemaField f) { super(f); }
+ @Override
protected Long parseVal(String rawval) {
return Long.valueOf(rawval);
}
+ @Override
public Long parseAndAddGap(Long value, String gap) {
return new Long(value.intValue() + Long.valueOf(gap).intValue());
}
@@ -1342,15 +1361,19 @@ public class SimpleFacets {
("SchemaField must use filed type extending DateField");
}
}
+ @Override
public String formatValue(Date val) {
return ((DateField)field.getType()).toExternal(val);
}
+ @Override
protected Date parseVal(String rawval) {
return ((DateField)field.getType()).parseMath(now, rawval);
}
+ @Override
protected Object parseGap(final String rawval) {
return rawval;
}
+ @Override
public Date parseAndAddGap(Date value, String gap) throws java.text.ParseException {
final DateMathParser dmp = new DateMathParser(DateField.UTC, Locale.US);
dmp.setNow(value);
Modified: lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/request/SolrQueryRequestBase.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/request/SolrQueryRequestBase.java?rev=1073192&r1=1073191&r2=1073192&view=diff
==============================================================================
--- lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/request/SolrQueryRequestBase.java (original)
+++ lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/request/SolrQueryRequestBase.java Tue Feb 22 01:00:39 2011
@@ -127,6 +127,7 @@ public abstract class SolrQueryRequestBa
return origParams.toString();
}
+ @Override
public String toString() {
return this.getClass().getSimpleName() + '{' + params + '}';
}
Modified: lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/request/UnInvertedField.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/request/UnInvertedField.java?rev=1073192&r1=1073191&r2=1073192&view=diff
==============================================================================
--- lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/request/UnInvertedField.java (original)
+++ lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/request/UnInvertedField.java Tue Feb 22 01:00:39 2011
@@ -882,6 +882,7 @@ public class UnInvertedField {
return te.skipTo(termNum);
}
+ @Override
public String toString() {
return "{field=" + field
+ ",memSize="+memSize()
@@ -1158,6 +1159,7 @@ class TermIndex {
ArrayList<BytesRef> lst;
PagedBytes bytes;
+ @Override
protected BytesRef setTerm() throws IOException {
BytesRef br = super.setTerm();
if (br != null && (pos & intervalMask)==0) {
@@ -1173,10 +1175,12 @@ class TermIndex {
return br;
}
+ @Override
public BytesRef skipTo(int termNumber) throws IOException {
throw new UnsupportedOperationException();
}
+ @Override
public void close() throws IOException {
nTerms=pos;
super.close();
Modified: lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/response/BaseResponseWriter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/response/BaseResponseWriter.java?rev=1073192&r1=1073191&r2=1073192&view=diff
==============================================================================
--- lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/response/BaseResponseWriter.java (original)
+++ lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/response/BaseResponseWriter.java Tue Feb 22 01:00:39 2011
@@ -302,12 +302,12 @@ public abstract class BaseResponseWriter
* {@link SolrInputDocument}s to be spit out as a {@link SolrDocumentList}
* so they can be processed as a whole, rather than on a doc-by-doc basis.
* If set to false, this method calls
- * {@link #writeAllDocs(DocListInfo, List)}, else if set to true, then this
+ * {@link #writeAllDocs(BaseResponseWriter.DocListInfo, List)}, else if set to true, then this
* method forces calling {@link #writeDoc(SolrDocument)} on a doc-by-doc
* basis. one
*
* @return True to force {@link #writeDoc(SolrDocument)} to be called, False
- * to force {@link #writeAllDocs(DocListInfo, List)} to be called.
+ * to force {@link #writeAllDocs(BaseResponseWriter.DocListInfo, List)} to be called.
*/
public boolean isStreamingDocs() { return true; }
Modified: lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/response/JSONResponseWriter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/response/JSONResponseWriter.java?rev=1073192&r1=1073191&r2=1073192&view=diff
==============================================================================
--- lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/response/JSONResponseWriter.java (original)
+++ lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/response/JSONResponseWriter.java Tue Feb 22 01:00:39 2011
@@ -286,6 +286,7 @@ class JSONWriter extends TextResponseWri
}
+ @Override
public void writeNamedList(String name, NamedList val) throws IOException {
if (val instanceof SimpleOrderedMap) {
writeNamedListAsMapWithDups(name,val);
@@ -391,6 +392,7 @@ class JSONWriter extends TextResponseWri
writeMapCloser();
}
+ @Override
public void writeSolrDocument(String name, SolrDocument doc, Set<String> returnFields, Map pseudoFields) throws IOException {
writeMapOpener(-1); // no trivial way to determine map size
// TODO: could easily figure out size for SolrDocument if needed...
@@ -437,6 +439,7 @@ class JSONWriter extends TextResponseWri
// if a Doc can ever contain another doc, this optimization would have to go.
private final HashMap scoreMap = new HashMap(1);
+ @Override
public void writeDoc(String name, Document doc, Set<String> returnFields, float score, boolean includeScore) throws IOException {
Map other = null;
if (includeScore) {
@@ -446,6 +449,7 @@ class JSONWriter extends TextResponseWri
writeDoc(name, doc.getFields(), returnFields, other);
}
+ @Override
public void writeDocList(String name, DocList ids, Set<String> fields, Map otherFields) throws IOException {
boolean includeScore=false;
if (fields!=null) {
@@ -595,6 +599,7 @@ class JSONWriter extends TextResponseWri
writer.write(']');
}
+ @Override
public void writeStr(String name, String val, boolean needsEscaping) throws IOException {
// it might be more efficient to use a stringbuilder or write substrings
// if writing chars to the stream is slow.
@@ -647,6 +652,7 @@ class JSONWriter extends TextResponseWri
}
+ @Override
public void writeMap(String name, Map val, boolean excludeOuter, boolean isFirstVal) throws IOException {
if (!excludeOuter) {
writeMapOpener(val.size());
@@ -678,6 +684,7 @@ class JSONWriter extends TextResponseWri
}
}
+ @Override
public void writeArray(String name, Iterator val) throws IOException {
writeArrayOpener(-1); // no trivial way to determine array size
incLevel();
@@ -697,30 +704,37 @@ class JSONWriter extends TextResponseWri
//
// Primitive types
//
+ @Override
public void writeNull(String name) throws IOException {
writer.write("null");
}
+ @Override
public void writeInt(String name, String val) throws IOException {
writer.write(val);
}
+ @Override
public void writeLong(String name, String val) throws IOException {
writer.write(val);
}
+ @Override
public void writeBool(String name, String val) throws IOException {
writer.write(val);
}
+ @Override
public void writeFloat(String name, String val) throws IOException {
writer.write(val);
}
+ @Override
public void writeDouble(String name, String val) throws IOException {
writer.write(val);
}
+ @Override
public void writeDate(String name, String val) throws IOException {
writeStr(name, val, false);
}
Modified: lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/response/PHPSerializedResponseWriter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/response/PHPSerializedResponseWriter.java?rev=1073192&r1=1073191&r2=1073192&view=diff
==============================================================================
--- lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/response/PHPSerializedResponseWriter.java (original)
+++ lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/response/PHPSerializedResponseWriter.java Tue Feb 22 01:00:39 2011
@@ -92,6 +92,7 @@ class PHPSerializedWriter extends JSONWr
doIndent = false;
}
+ @Override
public void writeResponse() throws IOException {
Boolean omitHeader = req.getParams().getBool(CommonParams.OMIT_HEADER);
if(omitHeader != null && omitHeader) rsp.getValues().remove("responseHeader");
Modified: lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/response/PageTool.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/response/PageTool.java?rev=1073192&r1=1073191&r2=1073192&view=diff
==============================================================================
--- lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/response/PageTool.java (original)
+++ lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/response/PageTool.java Tue Feb 22 01:00:39 2011
@@ -73,6 +73,7 @@ public class PageTool {
return current_page_number;
}
+ @Override
public String toString() {
return "Found " + results_found +
" Page " + current_page_number + " of " + page_count +
Modified: lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/response/RawResponseWriter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/response/RawResponseWriter.java?rev=1073192&r1=1073191&r2=1073192&view=diff
==============================================================================
--- lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/response/RawResponseWriter.java (original)
+++ lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/response/RawResponseWriter.java Tue Feb 22 01:00:39 2011
@@ -18,6 +18,7 @@
package org.apache.solr.response;
import java.io.IOException;
+import java.io.OutputStream;
import java.io.Reader;
import java.io.Writer;
@@ -44,7 +45,7 @@ import org.apache.solr.request.SolrQuery
* @version $Id$
* @since solr 1.3
*/
-public class RawResponseWriter implements QueryResponseWriter
+public class RawResponseWriter implements BinaryQueryResponseWriter
{
/**
* The key that should be used to add a ContentStream to the
@@ -93,4 +94,24 @@ public class RawResponseWriter implement
getBaseWriter( request ).write( writer, request, response );
}
}
+
+public void write(OutputStream out, SolrQueryRequest request,
+ SolrQueryResponse response) throws IOException {
+ Object obj = response.getValues().get( CONTENT );
+ if( obj != null && (obj instanceof ContentStream ) ) {
+ // copy the contents to the writer...
+ ContentStream content = (ContentStream)obj;
+ java.io.InputStream in = content.getStream();
+ try {
+ IOUtils.copy( in, out );
+ } finally {
+ in.close();
+ }
+ }
+ else {
+ //getBaseWriter( request ).write( writer, request, response );
+ throw new IOException("did not find a CONTENT object");
+ }
+
+}
}
Modified: lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/response/RubyResponseWriter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/response/RubyResponseWriter.java?rev=1073192&r1=1073191&r2=1073192&view=diff
==============================================================================
--- lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/response/RubyResponseWriter.java (original)
+++ lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/response/RubyResponseWriter.java Tue Feb 22 01:00:39 2011
@@ -45,7 +45,9 @@ public class RubyResponseWriter implemen
class RubyWriter extends NaNFloatWriter {
+ @Override
protected String getNaN() { return "(0.0/0.0)"; }
+ @Override
protected String getInf() { return "(1.0/0.0)"; }
public RubyWriter(Writer writer, SolrQueryRequest req, SolrQueryResponse rsp) {
Modified: lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/response/SolrParamResourceLoader.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/response/SolrParamResourceLoader.java?rev=1073192&r1=1073191&r2=1073192&view=diff
==============================================================================
--- lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/response/SolrParamResourceLoader.java (original)
+++ lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/response/SolrParamResourceLoader.java Tue Feb 22 01:00:39 2011
@@ -25,6 +25,7 @@ import org.apache.commons.collections.Ex
import java.io.ByteArrayInputStream;
import java.io.InputStream;
+import java.io.UnsupportedEncodingException;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
@@ -49,18 +50,26 @@ public class SolrParamResourceLoader ext
}
}
+ @Override
public void init(ExtendedProperties extendedProperties) {
}
+ @Override
public InputStream getResourceStream(String s) throws ResourceNotFoundException {
String template = templates.get(s);
- return template == null ? null : new ByteArrayInputStream(template.getBytes());
+ try {
+ return template == null ? null : new ByteArrayInputStream(template.getBytes("UTF-8"));
+ } catch (UnsupportedEncodingException e) {
+ throw new RuntimeException(e); // may not happen
+ }
}
+ @Override
public boolean isSourceModified(Resource resource) {
return false;
}
+ @Override
public long getLastModified(Resource resource) {
return 0;
}
Modified: lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/response/SolrVelocityResourceLoader.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/response/SolrVelocityResourceLoader.java?rev=1073192&r1=1073191&r2=1073192&view=diff
==============================================================================
--- lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/response/SolrVelocityResourceLoader.java (original)
+++ lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/response/SolrVelocityResourceLoader.java Tue Feb 22 01:00:39 2011
@@ -33,17 +33,21 @@ public class SolrVelocityResourceLoader
this.loader = loader;
}
+ @Override
public void init(ExtendedProperties extendedProperties) {
}
+ @Override
public InputStream getResourceStream(String template_name) throws ResourceNotFoundException {
return loader.openResource(template_name);
}
+ @Override
public boolean isSourceModified(Resource resource) {
return false;
}
+ @Override
public long getLastModified(Resource resource) {
return 0;
}
Modified: lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/response/XMLWriter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/response/XMLWriter.java?rev=1073192&r1=1073191&r2=1073192&view=diff
==============================================================================
--- lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/response/XMLWriter.java (original)
+++ lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/response/XMLWriter.java Tue Feb 22 01:00:39 2011
@@ -436,6 +436,7 @@ public final class XMLWriter extends Tex
}
+ @Override
public void writeVal(String name, Object val) throws IOException {
// if there get to be enough types, perhaps hashing on the type
@@ -494,6 +495,7 @@ public final class XMLWriter extends Tex
// Generic compound types
//
+ @Override
public void writeNamedList(String name, NamedList val) throws IOException {
int sz = val.size();
startTag("lst", name, sz<=0);
Modified: lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/schema/AbstractSubTypeFieldType.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/schema/AbstractSubTypeFieldType.java?rev=1073192&r1=1073191&r2=1073192&view=diff
==============================================================================
--- lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/schema/AbstractSubTypeFieldType.java (original)
+++ lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/schema/AbstractSubTypeFieldType.java Tue Feb 22 01:00:39 2011
@@ -85,6 +85,7 @@ public abstract class AbstractSubTypeFie
//Just set these, delegate everything else to the field type
props.put("indexed", "true");
props.put("stored", "false");
+ props.put("multiValued", "false");
int p = SchemaField.calcProps(name, type, props);
SchemaField proto = SchemaField.create(name,
type, p, null);
@@ -103,6 +104,7 @@ public abstract class AbstractSubTypeFie
/**
* Throws UnsupportedOperationException()
*/
+ @Override
public Query getFieldQuery(QParser parser, SchemaField field, String externalVal) {
throw new UnsupportedOperationException();
}
Modified: lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/schema/BCDIntField.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/schema/BCDIntField.java?rev=1073192&r1=1073191&r2=1073192&view=diff
==============================================================================
--- lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/schema/BCDIntField.java (original)
+++ lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/schema/BCDIntField.java Tue Feb 22 01:00:39 2011
@@ -30,9 +30,11 @@ import java.io.IOException;
* @version $Id$
*/
public class BCDIntField extends FieldType {
+ @Override
protected void init(IndexSchema schema, Map<String,String> args) {
}
+ @Override
public SortField getSortField(SchemaField field,boolean reverse) {
return getStringSort(field,reverse);
}
@@ -42,11 +44,13 @@ public class BCDIntField extends FieldTy
throw new UnsupportedOperationException("ValueSource not implemented");
}
+ @Override
public String toInternal(String val) {
// TODO? make sure each character is a digit?
return BCDUtils.base10toBase10kSortableInt(val);
}
+ @Override
public String toExternal(Fieldable f) {
return indexedToReadable(f.stringValue());
}
@@ -57,10 +61,12 @@ public class BCDIntField extends FieldTy
return Integer.valueOf( toExternal(f) );
}
+ @Override
public String indexedToReadable(String indexedForm) {
return BCDUtils.base10kSortableIntToBase10(indexedForm);
}
+ @Override
public void write(TextResponseWriter writer, String name, Fieldable f) throws IOException {
writer.writeInt(name,toExternal(f));
}
Modified: lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/schema/BinaryField.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/schema/BinaryField.java?rev=1073192&r1=1073191&r2=1073192&view=diff
==============================================================================
--- lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/schema/BinaryField.java (original)
+++ lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/schema/BinaryField.java Tue Feb 22 01:00:39 2011
@@ -33,19 +33,23 @@ public class BinaryField extends FieldTy
return Base64.byteArrayToBase64(buf.array(), buf.position(), buf.limit()-buf.position());
}
+ @Override
public void write(TextResponseWriter writer, String name, Fieldable f) throws IOException {
writer.writeStr(name, toBase64String(toObject(f)), false);
}
+ @Override
public SortField getSortField(SchemaField field, boolean top) {
throw new RuntimeException("Cannot sort on a Binary field");
}
+ @Override
public String toExternal(Fieldable f) {
return toBase64String(toObject(f));
}
+ @Override
public ByteBuffer toObject(Fieldable f) {
return ByteBuffer.wrap(f.getBinaryValue(), f.getBinaryOffset(), f.getBinaryLength() ) ;
}
Modified: lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/schema/BoolField.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/schema/BoolField.java?rev=1073192&r1=1073191&r2=1073192&view=diff
==============================================================================
--- lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/schema/BoolField.java (original)
+++ lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/schema/BoolField.java Tue Feb 22 01:00:39 2011
@@ -37,15 +37,19 @@ import java.io.IOException;
* @version $Id$
*/
public class BoolField extends FieldType {
+ @Override
protected void init(IndexSchema schema, Map<String,String> args) {
}
+ @Override
public SortField getSortField(SchemaField field,boolean reverse) {
+ field.checkSortability();
return getStringSort(field,reverse);
}
@Override
public ValueSource getValueSource(SchemaField field, QParser qparser) {
+ field.checkFieldCacheSource(qparser);
return new OrdFieldSource(field.name);
}
@@ -58,6 +62,7 @@ public class BoolField extends FieldType
// handle single valued non-text fields (int,bool,etc) if needed.
protected final static Analyzer boolAnalyzer = new SolrAnalyzer() {
+ @Override
public TokenStreamInfo getStream(String fieldName, Reader reader) {
Tokenizer tokenizer = new Tokenizer(reader) {
final CharTermAttribute termAtt = addAttribute(CharTermAttribute.class);
@@ -88,19 +93,23 @@ public class BoolField extends FieldType
};
+ @Override
public Analyzer getAnalyzer() {
return boolAnalyzer;
}
+ @Override
public Analyzer getQueryAnalyzer() {
return boolAnalyzer;
}
+ @Override
public String toInternal(String val) {
char ch = (val!=null && val.length()>0) ? val.charAt(0) : 0;
return (ch=='1' || ch=='t' || ch=='T') ? "T" : "F";
}
+ @Override
public String toExternal(Fieldable f) {
return indexedToReadable(f.stringValue());
}
@@ -115,6 +124,7 @@ public class BoolField extends FieldType
return term.bytes[0] == 'T';
}
+ @Override
public String indexedToReadable(String indexedForm) {
char ch = indexedForm.charAt(0);
return ch=='T' ? "true" : "false";
@@ -129,6 +139,7 @@ public class BoolField extends FieldType
}
}
+ @Override
public void write(TextResponseWriter writer, String name, Fieldable f) throws IOException {
writer.writeBool(name, f.stringValue().charAt(0) =='T');
}
Modified: lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/schema/ByteField.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/schema/ByteField.java?rev=1073192&r1=1073191&r2=1073192&view=diff
==============================================================================
--- lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/schema/ByteField.java (original)
+++ lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/schema/ByteField.java Tue Feb 22 01:00:39 2011
@@ -33,20 +33,25 @@ import java.util.Map;
* @version $Id$
*/
public class ByteField extends FieldType {
+ @Override
protected void init(IndexSchema schema, Map<String, String> args) {
restrictProps(SORT_MISSING_FIRST | SORT_MISSING_LAST);
}
/////////////////////////////////////////////////////////////
+ @Override
public SortField getSortField(SchemaField field, boolean reverse) {
+ field.checkSortability();
return new SortField(field.name, SortField.BYTE, reverse);
}
@Override
public ValueSource getValueSource(SchemaField field, QParser qparser) {
+ field.checkFieldCacheSource(qparser);
return new ByteFieldSource( new ByteValuesCreator( field.name, null, CachedArrayCreator.CACHE_VALUES_AND_BITS ) );
}
+ @Override
public void write(TextResponseWriter writer, String name, Fieldable f) throws IOException {
String s = f.stringValue();
@@ -75,4 +80,4 @@ public class ByteField extends FieldType
public Byte toObject(Fieldable f) {
return Byte.valueOf(toExternal(f));
}
-}
\ No newline at end of file
+}
Modified: lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/schema/DateField.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/schema/DateField.java?rev=1073192&r1=1073191&r2=1073192&view=diff
==============================================================================
--- lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/schema/DateField.java (original)
+++ lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/schema/DateField.java Tue Feb 22 01:00:39 2011
@@ -125,12 +125,14 @@ public class DateField extends FieldType
// The easiest fix is to simply remove the 'Z' for the internal
// format.
+ @Override
protected void init(IndexSchema schema, Map<String,String> args) {
}
protected static String NOW = "NOW";
protected static char Z = 'Z';
+ @Override
public String toInternal(String val) {
return toInternal(parseMath(null, val));
}
@@ -183,6 +185,7 @@ public class DateField extends FieldType
return formatDate(val);
}
+ @Override
public String indexedToReadable(String indexedForm) {
return indexedForm + Z;
}
@@ -193,6 +196,7 @@ public class DateField extends FieldType
out.write(Z);
}
+ @Override
public String toExternal(Fieldable f) {
return indexedToReadable(f.stringValue());
}
@@ -211,14 +215,12 @@ public class DateField extends FieldType
}
}
+ @Override
public SortField getSortField(SchemaField field,boolean reverse) {
return getStringSort(field,reverse);
}
- public ValueSource getValueSource(SchemaField field) {
- return new OrdFieldSource(field.name);
- }
-
+ @Override
public void write(TextResponseWriter writer, String name, Fieldable f) throws IOException {
writer.writeDate(name, toExternal(f));
}
@@ -336,6 +338,7 @@ public class DateField extends FieldType
this.setTimeZone(CANONICAL_TZ);
}
+ @Override
public Date parse(String i, ParsePosition p) {
/* delegate to SimpleDateFormat for easy stuff */
Date d = super.parse(i, p);
@@ -357,6 +360,7 @@ public class DateField extends FieldType
return d;
}
+ @Override
public StringBuffer format(Date d, StringBuffer toAppendTo,
FieldPosition pos) {
/* delegate to SimpleDateFormat for easy stuff */
@@ -375,6 +379,7 @@ public class DateField extends FieldType
return toAppendTo;
}
+ @Override
public Object clone() {
ISO8601CanonicalDateFormat c
= (ISO8601CanonicalDateFormat) super.clone();
@@ -391,6 +396,7 @@ public class DateField extends FieldType
super();
proto = d;
}
+ @Override
protected DateFormat initialValue() {
return (DateFormat) proto.clone();
}
@@ -398,6 +404,7 @@ public class DateField extends FieldType
@Override
public ValueSource getValueSource(SchemaField field, QParser parser) {
+ field.checkFieldCacheSource(parser);
return new DateFieldSource(field.getName(), field.getType());
}
@@ -423,34 +430,42 @@ class DateFieldSource extends FieldCache
this.ft = ft;
}
+ @Override
public String description() {
return "date(" + field + ')';
}
+ @Override
public DocValues getValues(Map context, AtomicReaderContext readerContext) throws IOException {
return new StringIndexDocValues(this, readerContext, field) {
+ @Override
protected String toTerm(String readableValue) {
// needed for frange queries to work properly
return ft.toInternal(readableValue);
}
+ @Override
public float floatVal(int doc) {
return (float)intVal(doc);
}
+ @Override
public int intVal(int doc) {
int ord=termsIndex.getOrd(doc);
return ord;
}
+ @Override
public long longVal(int doc) {
return (long)intVal(doc);
}
+ @Override
public double doubleVal(int doc) {
return (double)intVal(doc);
}
+ @Override
public String strVal(int doc) {
int ord=termsIndex.getOrd(doc);
if (ord == 0) {
@@ -463,19 +478,22 @@ class DateFieldSource extends FieldCache
}
}
+ @Override
public String toString(int doc) {
return description() + '=' + intVal(doc);
}
};
}
+ @Override
public boolean equals(Object o) {
return o instanceof DateFieldSource
&& super.equals(o);
}
private static int hcode = DateFieldSource.class.hashCode();
+ @Override
public int hashCode() {
return hcode + super.hashCode();
};
-}
\ No newline at end of file
+}
Modified: lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/schema/DoubleField.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/schema/DoubleField.java?rev=1073192&r1=1073191&r2=1073192&view=diff
==============================================================================
--- lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/schema/DoubleField.java (original)
+++ lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/schema/DoubleField.java Tue Feb 22 01:00:39 2011
@@ -33,21 +33,25 @@ import java.util.Map;
* @version $Id$
*/
public class DoubleField extends FieldType {
+ @Override
protected void init(IndexSchema schema, Map<String, String> args) {
restrictProps(SORT_MISSING_FIRST | SORT_MISSING_LAST);
}
/////////////////////////////////////////////////////////////
+ @Override
public SortField getSortField(SchemaField field, boolean reverse) {
+ field.checkSortability();
return new SortField(field.name, SortField.DOUBLE, reverse);
}
@Override
public ValueSource getValueSource(SchemaField field, QParser qparser) {
- // fieldCache doesn't support double
+ field.checkFieldCacheSource(qparser);
return new DoubleFieldSource( new DoubleValuesCreator( field.name, null, CachedArrayCreator.CACHE_VALUES_AND_BITS ) );
}
+ @Override
public void write(TextResponseWriter writer, String name, Fieldable f) throws IOException {
String s = f.stringValue();
Modified: lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/schema/ExternalFileField.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/schema/ExternalFileField.java?rev=1073192&r1=1073191&r2=1073192&view=diff
==============================================================================
--- lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/schema/ExternalFileField.java (original)
+++ lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/schema/ExternalFileField.java Tue Feb 22 01:00:39 2011
@@ -59,6 +59,7 @@ public class ExternalFileField extends F
private IndexSchema schema;
private float defVal;
+ @Override
protected void init(IndexSchema schema, Map<String,String> args) {
restrictProps(SORT_MISSING_FIRST | SORT_MISSING_LAST);
String ftypeS = getArg("valType", args);
@@ -74,14 +75,17 @@ public class ExternalFileField extends F
this.schema = schema;
}
+ @Override
public void write(TextResponseWriter writer, String name, Fieldable f) throws IOException {
throw new UnsupportedOperationException();
}
+ @Override
public SortField getSortField(SchemaField field,boolean reverse) {
throw new UnsupportedOperationException();
}
+ @Override
public ValueSource getValueSource(SchemaField field, QParser parser) {
// default key field to unique key
SchemaField keyField = keyFieldName==null ? schema.getUniqueKeyField() : schema.getField(keyFieldName);
Modified: lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/schema/FieldType.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/schema/FieldType.java?rev=1073192&r1=1073191&r2=1073192&view=diff
==============================================================================
--- lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/schema/FieldType.java (original)
+++ lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/schema/FieldType.java Tue Feb 22 01:00:39 2011
@@ -185,6 +185,7 @@ public abstract class FieldType extends
this.typeName = typeName;
}
+ @Override
public String toString() {
return typeName + "{class=" + this.getClass().getName()
// + propertiesToString(properties)
@@ -390,6 +391,7 @@ public abstract class FieldType extends
this.maxChars=maxChars;
}
+ @Override
public TokenStreamInfo getStream(String fieldName, Reader reader) {
Tokenizer ts = new Tokenizer(reader) {
final char[] cbuf = new char[maxChars];
@@ -476,13 +478,17 @@ public abstract class FieldType extends
/**
* Returns the SortField instance that should be used to sort fields
* of this type.
+ * @see SchemaField#checkSortability
*/
public abstract SortField getSortField(SchemaField field, boolean top);
/**
- * Utility usable by subclasses when they want to get basic String sorting.
+ * Utility usable by subclasses when they want to get basic String sorting
+ * using common checks.
+ * @see SchemaField#checkSortability
*/
protected SortField getStringSort(SchemaField field, boolean reverse) {
+ field.checkSortability();
return Sorting.getStringSortField(field.name, reverse, field.sortMissingLast(),field.sortMissingFirst());
}
@@ -490,6 +496,7 @@ public abstract class FieldType extends
* Lucene FieldCache.)
*/
public ValueSource getValueSource(SchemaField field, QParser parser) {
+ field.checkFieldCacheSource(parser);
return new StrFieldSource(field.name);
}
Modified: lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/schema/FloatField.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/schema/FloatField.java?rev=1073192&r1=1073191&r2=1073192&view=diff
==============================================================================
--- lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/schema/FloatField.java (original)
+++ lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/schema/FloatField.java Tue Feb 22 01:00:39 2011
@@ -32,19 +32,24 @@ import java.io.IOException;
* @version $Id$
*/
public class FloatField extends FieldType {
+ @Override
protected void init(IndexSchema schema, Map<String,String> args) {
restrictProps(SORT_MISSING_FIRST | SORT_MISSING_LAST);
}
+ @Override
public SortField getSortField(SchemaField field,boolean reverse) {
+ field.checkSortability();
return new SortField(field.name,SortField.FLOAT, reverse);
}
@Override
public ValueSource getValueSource(SchemaField field, QParser qparser) {
+ field.checkFieldCacheSource(qparser);
return new FloatFieldSource( new FloatValuesCreator( field.name, null, CachedArrayCreator.CACHE_VALUES_AND_BITS ) );
}
+ @Override
public void write(TextResponseWriter writer, String name, Fieldable f) throws IOException {
String s = f.stringValue();
Modified: lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/schema/GeoHashField.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/schema/GeoHashField.java?rev=1073192&r1=1073191&r2=1073192&view=diff
==============================================================================
--- lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/schema/GeoHashField.java (original)
+++ lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/schema/GeoHashField.java Tue Feb 22 01:00:39 2011
@@ -97,6 +97,7 @@ public class GeoHashField extends FieldT
@Override
public ValueSource getValueSource(SchemaField field, QParser parser) {
+ field.checkFieldCacheSource(parser);
return new StrFieldSource(field.name);
}
Modified: lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/schema/IndexSchema.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/schema/IndexSchema.java?rev=1073192&r1=1073191&r2=1073192&view=diff
==============================================================================
--- lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/schema/IndexSchema.java (original)
+++ lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/schema/IndexSchema.java Tue Feb 22 01:00:39 2011
@@ -99,7 +99,7 @@ public final class IndexSchema {
* If the is stream is null, the resource loader will load the schema resource by name.
* @see SolrResourceLoader#openSchema
* By default, this follows the normal config path directory searching rules.
- * @see Config#openResource
+ * @see SolrResourceLoader#openResource
*/
public IndexSchema(SolrConfig solrConfig, String name, InputStream is) {
this.solrConfig = solrConfig;
@@ -316,6 +316,7 @@ public final class IndexSchema {
return analyzer!=null ? analyzer : getDynamicFieldType(fieldName).getAnalyzer();
}
+ @Override
public TokenStream tokenStream(String fieldName, Reader reader)
{
return getAnalyzer(fieldName).tokenStream(fieldName,reader);
@@ -497,6 +498,7 @@ public final class IndexSchema {
Node node = (Node) xpath.evaluate("/schema/similarity", document, XPathConstants.NODE);
if (node==null) {
similarityFactory = new SimilarityFactory() {
+ @Override
public SimilarityProvider getSimilarityProvider() {
return IndexSearcher.getDefaultSimilarityProvider();
}
@@ -512,6 +514,7 @@ public final class IndexSchema {
} else {
// just like always, assume it's a SimilarityProvider and get a ClassCastException - reasonable error handling
similarityFactory = new SimilarityFactory() {
+ @Override
public SimilarityProvider getSimilarityProvider() {
return (SimilarityProvider) obj;
}
@@ -946,6 +949,7 @@ public final class IndexSchema {
return new SchemaField(prototype, name);
}
+ @Override
public String toString() {
return prototype.toString();
}
Modified: lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/schema/IntField.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/schema/IntField.java?rev=1073192&r1=1073191&r2=1073192&view=diff
==============================================================================
--- lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/schema/IntField.java (original)
+++ lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/schema/IntField.java Tue Feb 22 01:00:39 2011
@@ -32,19 +32,24 @@ import java.io.IOException;
* @version $Id$
*/
public class IntField extends FieldType {
+ @Override
protected void init(IndexSchema schema, Map<String,String> args) {
restrictProps(SORT_MISSING_FIRST | SORT_MISSING_LAST);
}
+ @Override
public SortField getSortField(SchemaField field,boolean reverse) {
+ field.checkSortability();
return new SortField(field.name,SortField.INT, reverse);
}
@Override
public ValueSource getValueSource(SchemaField field, QParser qparser) {
+ field.checkFieldCacheSource(qparser);
return new IntFieldSource(new IntValuesCreator( field.name, null, CachedArrayCreator.CACHE_VALUES_AND_BITS ) );
}
+ @Override
public void write(TextResponseWriter writer, String name, Fieldable f) throws IOException {
String s = f.stringValue();
Modified: lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/schema/LongField.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/schema/LongField.java?rev=1073192&r1=1073191&r2=1073192&view=diff
==============================================================================
--- lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/schema/LongField.java (original)
+++ lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/schema/LongField.java Tue Feb 22 01:00:39 2011
@@ -32,19 +32,22 @@ import java.util.Map;
* @version $Id$
*/
public class LongField extends FieldType {
+ @Override
protected void init(IndexSchema schema, Map<String,String> args) {
restrictProps(SORT_MISSING_FIRST | SORT_MISSING_LAST);
}
/////////////////////////////////////////////////////////////
+ @Override
public SortField getSortField(SchemaField field,boolean reverse) {
-
+ field.checkSortability();
return new SortField(field.name,SortField.LONG, reverse);
}
@Override
public ValueSource getValueSource(SchemaField field, QParser qparser) {
+ field.checkFieldCacheSource(qparser);
return new LongFieldSource( new LongValuesCreator( field.name, null, CachedArrayCreator.CACHE_VALUES_AND_BITS ) );
}
Modified: lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/schema/RandomSortField.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/schema/RandomSortField.java?rev=1073192&r1=1073191&r2=1073192&view=diff
==============================================================================
--- lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/schema/RandomSortField.java (original)
+++ lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/schema/RandomSortField.java Tue Feb 22 01:00:39 2011
@@ -100,33 +100,40 @@ public class RandomSortField extends Fie
private static FieldComparatorSource randomComparatorSource = new FieldComparatorSource() {
+ @Override
public FieldComparator newComparator(final String fieldname, final int numHits, int sortPos, boolean reversed) throws IOException {
return new FieldComparator() {
int seed;
private final int[] values = new int[numHits];
int bottomVal;
+ @Override
public int compare(int slot1, int slot2) {
return values[slot1] - values[slot2]; // values will be positive... no overflow possible.
}
+ @Override
public void setBottom(int slot) {
bottomVal = values[slot];
}
+ @Override
public int compareBottom(int doc) throws IOException {
return bottomVal - hash(doc+seed);
}
+ @Override
public void copy(int slot, int doc) throws IOException {
values[slot] = hash(doc+seed);
}
+ @Override
public FieldComparator setNextReader(AtomicReaderContext context) throws IOException {
seed = getSeed(fieldname, context);
return this;
}
+ @Override
public Comparable value(int slot) {
return values[slot];
}
Modified: lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/schema/SchemaField.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/schema/SchemaField.java?rev=1073192&r1=1073191&r2=1073192&view=diff
==============================================================================
--- lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/schema/SchemaField.java (original)
+++ lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/schema/SchemaField.java Tue Feb 22 01:00:39 2011
@@ -17,9 +17,13 @@
package org.apache.solr.schema;
+import org.apache.solr.common.SolrException;
+import org.apache.solr.common.SolrException.ErrorCode;
import org.apache.lucene.document.Field;
import org.apache.lucene.document.Fieldable;
import org.apache.lucene.search.SortField;
+import org.apache.solr.search.QParser;
+
import org.apache.solr.response.TextResponseWriter;
import java.util.Map;
@@ -120,10 +124,56 @@ public final class SchemaField extends F
type.write(writer,name,val);
}
+ /**
+ * Delegates to the FieldType for this field
+ * @see FieldType#getSortField
+ */
public SortField getSortField(boolean top) {
return type.getSortField(this, top);
}
+ /**
+ * Sanity checks that the properties of this field type are plausible
+ * for a field that may be used in sorting, throwing an appropriate
+ * exception (including the field name) if it is not. FieldType subclasses
+ * can choose to call this method in their getSortField implementation
+ * @see FieldType#getSortField
+ */
+ public void checkSortability() throws SolrException {
+ if (! indexed() ) {
+ throw new SolrException(SolrException.ErrorCode.BAD_REQUEST,
+ "can not sort on unindexed field: "
+ + getName());
+ }
+ if ( multiValued() ) {
+ throw new SolrException(SolrException.ErrorCode.BAD_REQUEST,
+ "can not sort on multivalued field: "
+ + getName());
+ }
+
+ }
+
+ /**
+ * Sanity checks that the properties of this field type are plausible
+ * for a field that may be used to get a FieldCacheSource, throwing
+ * an appropriate exception (including the field name) if it is not.
+ * FieldType subclasses can choose to call this method in their
+ * getValueSource implementation
+ * @see FieldType#getValueSource
+ */
+ public void checkFieldCacheSource(QParser parser) throws SolrException {
+ if (! indexed() ) {
+ throw new SolrException(SolrException.ErrorCode.BAD_REQUEST,
+ "can not use FieldCache on unindexed field: "
+ + getName());
+ }
+ if ( multiValued() ) {
+ throw new SolrException(SolrException.ErrorCode.BAD_REQUEST,
+ "can not use FieldCache on multivalued field: "
+ + getName());
+ }
+
+ }
static SchemaField create(String name, FieldType ft, Map<String,String> props) {
Modified: lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/schema/ShortField.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/schema/ShortField.java?rev=1073192&r1=1073191&r2=1073192&view=diff
==============================================================================
--- lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/schema/ShortField.java (original)
+++ lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/schema/ShortField.java Tue Feb 22 01:00:39 2011
@@ -35,20 +35,22 @@ import java.util.Map;
*
**/
public class ShortField extends FieldType {
+ @Override
protected void init(IndexSchema schema, Map<String, String> args) {
restrictProps(SORT_MISSING_FIRST | SORT_MISSING_LAST);
}
/////////////////////////////////////////////////////////////
+ @Override
public SortField getSortField(SchemaField field, boolean reverse) {
-
+ field.checkSortability();
return new SortField(field.name, SortField.SHORT, reverse);
}
@Override
public ValueSource getValueSource(SchemaField field, QParser qparser) {
-
+ field.checkFieldCacheSource(qparser);
return new ShortFieldSource(new ShortValuesCreator( field.name, null, CachedArrayCreator.CACHE_VALUES_AND_BITS ) );
}
Modified: lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/schema/SortableDoubleField.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/schema/SortableDoubleField.java?rev=1073192&r1=1073191&r2=1073192&view=diff
==============================================================================
--- lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/schema/SortableDoubleField.java (original)
+++ lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/schema/SortableDoubleField.java Tue Feb 22 01:00:39 2011
@@ -37,24 +37,32 @@ import java.util.Map;
import java.io.IOException;
/**
* @version $Id$
+ *
+ * @deprecated use {@link DoubleField} or {@link TrieDoubleField} - will be removed in 5.x
*/
+@Deprecated
public class SortableDoubleField extends FieldType {
+ @Override
protected void init(IndexSchema schema, Map<String,String> args) {
}
+ @Override
public SortField getSortField(SchemaField field,boolean reverse) {
return getStringSort(field,reverse);
}
@Override
public ValueSource getValueSource(SchemaField field, QParser qparser) {
+ field.checkFieldCacheSource(qparser);
return new SortableDoubleFieldSource(field.name);
}
+ @Override
public String toInternal(String val) {
return NumberUtils.double2sortableStr(val);
}
+ @Override
public String toExternal(Fieldable f) {
return indexedToReadable(f.stringValue());
}
@@ -64,6 +72,7 @@ public class SortableDoubleField extends
return NumberUtils.SortableStr2double(f.stringValue());
}
+ @Override
public String indexedToReadable(String indexedForm) {
return NumberUtils.SortableStr2doubleStr(indexedForm);
}
@@ -74,6 +83,7 @@ public class SortableDoubleField extends
out.write( indexedToReadable(ByteUtils.UTF8toUTF16(input)) );
}
+ @Override
public void write(TextResponseWriter writer, String name, Fieldable f) throws IOException {
String sval = f.stringValue();
writer.writeDouble(name, NumberUtils.SortableStr2double(sval));
@@ -95,41 +105,50 @@ class SortableDoubleFieldSource extends
this.defVal = defVal;
}
+ @Override
public String description() {
return "sdouble(" + field + ')';
}
+ @Override
public DocValues getValues(Map context, AtomicReaderContext readerContext) throws IOException {
final double def = defVal;
return new StringIndexDocValues(this, readerContext, field) {
private final BytesRef spare = new BytesRef();
+ @Override
protected String toTerm(String readableValue) {
return NumberUtils.double2sortableStr(readableValue);
}
+ @Override
public float floatVal(int doc) {
return (float)doubleVal(doc);
}
+ @Override
public int intVal(int doc) {
return (int)doubleVal(doc);
}
+ @Override
public long longVal(int doc) {
return (long)doubleVal(doc);
}
+ @Override
public double doubleVal(int doc) {
int ord=termsIndex.getOrd(doc);
return ord==0 ? def : NumberUtils.SortableStr2double(termsIndex.lookup(ord, spare));
}
+ @Override
public String strVal(int doc) {
return Double.toString(doubleVal(doc));
}
+ @Override
public String toString(int doc) {
return description() + '=' + doubleVal(doc);
}
@@ -160,6 +179,7 @@ class SortableDoubleFieldSource extends
};
}
+ @Override
public boolean equals(Object o) {
return o instanceof SortableDoubleFieldSource
&& super.equals(o)
@@ -167,6 +187,7 @@ class SortableDoubleFieldSource extends
}
private static int hcode = SortableDoubleFieldSource.class.hashCode();
+ @Override
public int hashCode() {
long bits = Double.doubleToLongBits(defVal);
int ibits = (int)(bits ^ (bits>>>32)); // mix upper bits into lower.
Modified: lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/schema/SortableFloatField.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/schema/SortableFloatField.java?rev=1073192&r1=1073191&r2=1073192&view=diff
==============================================================================
--- lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/schema/SortableFloatField.java (original)
+++ lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/schema/SortableFloatField.java Tue Feb 22 01:00:39 2011
@@ -37,24 +37,32 @@ import java.util.Map;
import java.io.IOException;
/**
* @version $Id$
+ *
+ * @deprecated use {@link FloatField} or {@link TrieFloatField} - will be removed in 5.x
*/
+@Deprecated
public class SortableFloatField extends FieldType {
+ @Override
protected void init(IndexSchema schema, Map<String,String> args) {
}
+ @Override
public SortField getSortField(SchemaField field,boolean reverse) {
return getStringSort(field,reverse);
}
@Override
public ValueSource getValueSource(SchemaField field, QParser qparser) {
+ field.checkFieldCacheSource(qparser);
return new SortableFloatFieldSource(field.name);
}
+ @Override
public String toInternal(String val) {
return NumberUtils.float2sortableStr(val);
}
+ @Override
public String toExternal(Fieldable f) {
return indexedToReadable(f.stringValue());
}
@@ -64,6 +72,7 @@ public class SortableFloatField extends
return NumberUtils.SortableStr2float(f.stringValue());
}
+ @Override
public String indexedToReadable(String indexedForm) {
return NumberUtils.SortableStr2floatStr(indexedForm);
}
@@ -74,6 +83,7 @@ public class SortableFloatField extends
out.write( indexedToReadable(ByteUtils.UTF8toUTF16(input)) );
}
+ @Override
public void write(TextResponseWriter writer, String name, Fieldable f) throws IOException {
String sval = f.stringValue();
writer.writeFloat(name, NumberUtils.SortableStr2float(sval));
@@ -95,41 +105,50 @@ class SortableFloatFieldSource extends F
this.defVal = defVal;
}
+ @Override
public String description() {
return "sfloat(" + field + ')';
}
+ @Override
public DocValues getValues(Map context, AtomicReaderContext readerContext) throws IOException {
final float def = defVal;
return new StringIndexDocValues(this, readerContext, field) {
private final BytesRef spare = new BytesRef();
+ @Override
protected String toTerm(String readableValue) {
return NumberUtils.float2sortableStr(readableValue);
}
+ @Override
public float floatVal(int doc) {
int ord=termsIndex.getOrd(doc);
return ord==0 ? def : NumberUtils.SortableStr2float(termsIndex.lookup(ord, spare));
}
+ @Override
public int intVal(int doc) {
return (int)floatVal(doc);
}
+ @Override
public long longVal(int doc) {
return (long)floatVal(doc);
}
+ @Override
public double doubleVal(int doc) {
return (double)floatVal(doc);
}
+ @Override
public String strVal(int doc) {
return Float.toString(floatVal(doc));
}
+ @Override
public String toString(int doc) {
return description() + '=' + floatVal(doc);
}
@@ -160,6 +179,7 @@ class SortableFloatFieldSource extends F
};
}
+ @Override
public boolean equals(Object o) {
return o instanceof SortableFloatFieldSource
&& super.equals(o)
@@ -167,6 +187,7 @@ class SortableFloatFieldSource extends F
}
private static int hcode = SortableFloatFieldSource.class.hashCode();
+ @Override
public int hashCode() {
return hcode + super.hashCode() + Float.floatToIntBits(defVal);
};
Modified: lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/schema/SortableIntField.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/schema/SortableIntField.java?rev=1073192&r1=1073191&r2=1073192&view=diff
==============================================================================
--- lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/schema/SortableIntField.java (original)
+++ lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/schema/SortableIntField.java Tue Feb 22 01:00:39 2011
@@ -37,20 +37,27 @@ import java.util.Map;
import java.io.IOException;
/**
* @version $Id$
+ *
+ * @deprecated use {@link IntField} or {@link TrieIntField} - will be removed in 5.x
*/
+@Deprecated
public class SortableIntField extends FieldType {
+ @Override
protected void init(IndexSchema schema, Map<String,String> args) {
}
+ @Override
public SortField getSortField(SchemaField field,boolean reverse) {
return getStringSort(field,reverse);
}
@Override
public ValueSource getValueSource(SchemaField field, QParser qparser) {
+ field.checkFieldCacheSource(qparser);
return new SortableIntFieldSource(field.name);
}
+ @Override
public String toInternal(String val) {
// special case single digits? years?, etc
// stringCache? general stringCache on a
@@ -58,10 +65,12 @@ public class SortableIntField extends Fi
return NumberUtils.int2sortableStr(val);
}
+ @Override
public String toExternal(Fieldable f) {
return indexedToReadable(f.stringValue());
}
+ @Override
public String indexedToReadable(String indexedForm) {
return NumberUtils.SortableStr2int(indexedForm);
}
@@ -77,6 +86,7 @@ public class SortableIntField extends Fi
return NumberUtils.SortableStr2int(f.stringValue(), 0, 3);
}
+ @Override
public void write(TextResponseWriter writer, String name, Fieldable f) throws IOException {
String sval = f.stringValue();
writer.writeInt(name, NumberUtils.SortableStr2int(sval,0,sval.length()));
@@ -97,41 +107,50 @@ class SortableIntFieldSource extends Fie
this.defVal = defVal;
}
+ @Override
public String description() {
return "sint(" + field + ')';
}
+ @Override
public DocValues getValues(Map context, AtomicReaderContext readerContext) throws IOException {
final int def = defVal;
return new StringIndexDocValues(this, readerContext, field) {
private final BytesRef spare = new BytesRef();
+ @Override
protected String toTerm(String readableValue) {
return NumberUtils.int2sortableStr(readableValue);
}
+ @Override
public float floatVal(int doc) {
return (float)intVal(doc);
}
+ @Override
public int intVal(int doc) {
int ord=termsIndex.getOrd(doc);
return ord==0 ? def : NumberUtils.SortableStr2int(termsIndex.lookup(ord, spare),0,3);
}
+ @Override
public long longVal(int doc) {
return (long)intVal(doc);
}
+ @Override
public double doubleVal(int doc) {
return (double)intVal(doc);
}
+ @Override
public String strVal(int doc) {
return Integer.toString(intVal(doc));
}
+ @Override
public String toString(int doc) {
return description() + '=' + intVal(doc);
}
@@ -163,6 +182,7 @@ class SortableIntFieldSource extends Fie
};
}
+ @Override
public boolean equals(Object o) {
return o instanceof SortableIntFieldSource
&& super.equals(o)
@@ -170,6 +190,7 @@ class SortableIntFieldSource extends Fie
}
private static int hcode = SortableIntFieldSource.class.hashCode();
+ @Override
public int hashCode() {
return hcode + super.hashCode() + defVal;
};
Modified: lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/schema/SortableLongField.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/schema/SortableLongField.java?rev=1073192&r1=1073191&r2=1073192&view=diff
==============================================================================
--- lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/schema/SortableLongField.java (original)
+++ lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/schema/SortableLongField.java Tue Feb 22 01:00:39 2011
@@ -37,24 +37,32 @@ import java.util.Map;
import java.io.IOException;
/**
* @version $Id$
+ *
+ * @deprecated use {@link LongField} or {@link TrieLongField} - will be removed in 5.x
*/
+@Deprecated
public class SortableLongField extends FieldType {
+ @Override
protected void init(IndexSchema schema, Map<String,String> args) {
}
+ @Override
public SortField getSortField(SchemaField field,boolean reverse) {
return getStringSort(field,reverse);
}
@Override
public ValueSource getValueSource(SchemaField field, QParser qparser) {
+ field.checkFieldCacheSource(qparser);
return new SortableLongFieldSource(field.name);
}
+ @Override
public String toInternal(String val) {
return NumberUtils.long2sortableStr(val);
}
+ @Override
public String indexedToReadable(String indexedForm) {
return NumberUtils.SortableStr2long(indexedForm);
}
@@ -65,6 +73,7 @@ public class SortableLongField extends F
out.write( indexedToReadable(ByteUtils.UTF8toUTF16(input)) );
}
+ @Override
public String toExternal(Fieldable f) {
return indexedToReadable(f.stringValue());
}
@@ -74,6 +83,7 @@ public class SortableLongField extends F
return NumberUtils.SortableStr2long(f.stringValue(),0,5);
}
+ @Override
public void write(TextResponseWriter writer, String name, Fieldable f) throws IOException {
String sval = f.stringValue();
writer.writeLong(name, NumberUtils.SortableStr2long(sval,0,sval.length()));
@@ -96,41 +106,50 @@ class SortableLongFieldSource extends Fi
this.defVal = defVal;
}
+ @Override
public String description() {
return "slong(" + field + ')';
}
+ @Override
public DocValues getValues(Map context, AtomicReaderContext readerContext) throws IOException {
final long def = defVal;
return new StringIndexDocValues(this, readerContext, field) {
private final BytesRef spare = new BytesRef();
+ @Override
protected String toTerm(String readableValue) {
return NumberUtils.long2sortableStr(readableValue);
}
+ @Override
public float floatVal(int doc) {
return (float)longVal(doc);
}
+ @Override
public int intVal(int doc) {
return (int)longVal(doc);
}
+ @Override
public long longVal(int doc) {
int ord=termsIndex.getOrd(doc);
return ord==0 ? def : NumberUtils.SortableStr2long(termsIndex.lookup(ord, spare),0,5);
}
+ @Override
public double doubleVal(int doc) {
return (double)longVal(doc);
}
+ @Override
public String strVal(int doc) {
return Long.toString(longVal(doc));
}
+ @Override
public String toString(int doc) {
return description() + '=' + longVal(doc);
}
@@ -161,6 +180,7 @@ class SortableLongFieldSource extends Fi
};
}
+ @Override
public boolean equals(Object o) {
return o instanceof SortableLongFieldSource
&& super.equals(o)
@@ -168,6 +188,7 @@ class SortableLongFieldSource extends Fi
}
private static int hcode = SortableLongFieldSource.class.hashCode();
+ @Override
public int hashCode() {
return hcode + super.hashCode() + (int)defVal;
};
Modified: lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/schema/StrField.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/schema/StrField.java?rev=1073192&r1=1073191&r2=1073192&view=diff
==============================================================================
--- lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/schema/StrField.java (original)
+++ lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/schema/StrField.java Tue Feb 22 01:00:39 2011
@@ -31,19 +31,24 @@ import java.io.IOException;
* @version $Id$
*/
public class StrField extends FieldType {
+ @Override
protected void init(IndexSchema schema, Map<String,String> args) {
super.init(schema, args);
}
+ @Override
public SortField getSortField(SchemaField field,boolean reverse) {
return getStringSort(field,reverse);
}
+ @Override
public void write(TextResponseWriter writer, String name, Fieldable f) throws IOException {
writer.writeStr(name, f.stringValue(), true);
}
+ @Override
public ValueSource getValueSource(SchemaField field, QParser parser) {
+ field.checkFieldCacheSource(parser);
return new StrFieldSource(field.getName());
}
Modified: lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/schema/StrFieldSource.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/schema/StrFieldSource.java?rev=1073192&r1=1073191&r2=1073192&view=diff
==============================================================================
--- lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/schema/StrFieldSource.java (original)
+++ lucene/dev/branches/realtime_search/solr/src/java/org/apache/solr/schema/StrFieldSource.java Tue Feb 22 01:00:39 2011
@@ -32,41 +32,51 @@ public class StrFieldSource extends Fiel
super(field);
}
+ @Override
public String description() {
return "str(" + field + ')';
}
+ @Override
public DocValues getValues(Map context, AtomicReaderContext readerContext) throws IOException {
return new StringIndexDocValues(this, readerContext, field) {
+ @Override
protected String toTerm(String readableValue) {
return readableValue;
}
+ @Override
public float floatVal(int doc) {
return (float)intVal(doc);
}
+ @Override
public int intVal(int doc) {
int ord=termsIndex.getOrd(doc);
return ord;
}
+ @Override
public long longVal(int doc) {
return (long)intVal(doc);
}
+ @Override
public double doubleVal(int doc) {
return (double)intVal(doc);
}
+ @Override
public int ordVal(int doc) {
return termsIndex.getOrd(doc);
}
+ @Override
public int numOrd() {
return termsIndex.numOrd();
}
+ @Override
public String strVal(int doc) {
int ord=termsIndex.getOrd(doc);
if (ord == 0) {
@@ -76,18 +86,21 @@ public class StrFieldSource extends Fiel
}
}
+ @Override
public String toString(int doc) {
return description() + '=' + strVal(doc);
}
};
}
+ @Override
public boolean equals(Object o) {
return o instanceof StrFieldSource
&& super.equals(o);
}
private static int hcode = SortableFloatFieldSource.class.hashCode();
+ @Override
public int hashCode() {
return hcode + super.hashCode();
};