Index: solr/src/test/org/apache/solr/core/DummyValueSourceParser.java
===================================================================
--- solr/src/test/org/apache/solr/core/DummyValueSourceParser.java	(revision 1140398)
+++ solr/src/test/org/apache/solr/core/DummyValueSourceParser.java	(working copy)
@@ -18,11 +18,11 @@
 
 import org.apache.lucene.queries.function.DocValues;
 import org.apache.lucene.queries.function.ValueSource;
+import org.apache.lucene.queries.function.valuesource.SimpleFloatFunction;
 import org.apache.lucene.queryParser.ParseException;
 import org.apache.solr.common.util.NamedList;
 import org.apache.solr.search.FunctionQParser;
 import org.apache.solr.search.ValueSourceParser;
-import org.apache.solr.search.function.SimpleFloatFunction;
 
 
 /**
Index: solr/src/test/org/apache/solr/search/function/NvlValueSourceParser.java
===================================================================
--- solr/src/test/org/apache/solr/search/function/NvlValueSourceParser.java	(revision 1140398)
+++ solr/src/test/org/apache/solr/search/function/NvlValueSourceParser.java	(working copy)
@@ -19,6 +19,7 @@
 
 import org.apache.lucene.queries.function.DocValues;
 import org.apache.lucene.queries.function.ValueSource;
+import org.apache.lucene.queries.function.valuesource.SimpleFloatFunction;
 import org.apache.lucene.queryParser.ParseException;
 import org.apache.solr.common.util.NamedList;
 import org.apache.solr.search.FunctionQParser;
Index: solr/src/java/org/apache/solr/schema/BoolField.java
===================================================================
--- solr/src/java/org/apache/solr/schema/BoolField.java	(revision 1140398)
+++ solr/src/java/org/apache/solr/schema/BoolField.java	(working copy)
@@ -22,6 +22,8 @@
 import org.apache.lucene.index.IndexReader;
 import org.apache.lucene.queries.function.DocValues;
 import org.apache.lucene.queries.function.ValueSource;
+import org.apache.lucene.queries.function.docvalues.BoolDocValues;
+import org.apache.lucene.queries.function.valuesource.OrdFieldSource;
 import org.apache.lucene.search.FieldCache;
 import org.apache.lucene.search.SortField;
 import org.apache.lucene.util.BytesRef;
Index: solr/src/java/org/apache/solr/schema/TrieField.java
===================================================================
--- solr/src/java/org/apache/solr/schema/TrieField.java	(revision 1140398)
+++ solr/src/java/org/apache/solr/schema/TrieField.java	(working copy)
@@ -22,6 +22,10 @@
 import org.apache.lucene.document.Field;
 import org.apache.lucene.document.NumericField;
 import org.apache.lucene.queries.function.ValueSource;
+import org.apache.lucene.queries.function.valuesource.DoubleFieldSource;
+import org.apache.lucene.queries.function.valuesource.FloatFieldSource;
+import org.apache.lucene.queries.function.valuesource.IntFieldSource;
+import org.apache.lucene.queries.function.valuesource.LongFieldSource;
 import org.apache.lucene.search.*;
 import org.apache.lucene.search.cache.CachedArrayCreator;
 import org.apache.lucene.search.cache.DoubleValuesCreator;
Index: solr/src/java/org/apache/solr/schema/SortableDoubleField.java
===================================================================
--- solr/src/java/org/apache/solr/schema/SortableDoubleField.java	(revision 1140398)
+++ solr/src/java/org/apache/solr/schema/SortableDoubleField.java	(working copy)
@@ -21,12 +21,12 @@
 import org.apache.lucene.common.mutable.MutableValueDouble;
 import org.apache.lucene.queries.function.DocValues;
 import org.apache.lucene.queries.function.ValueSource;
+import org.apache.lucene.queries.function.docvalues.StringIndexDocValues;
+import org.apache.lucene.queries.function.valuesource.FieldCacheSource;
 import org.apache.lucene.search.SortField;
 import org.apache.lucene.util.BytesRef;
 import org.apache.lucene.util.CharsRef;
 import org.apache.solr.search.QParser;
-import org.apache.solr.search.function.FieldCacheSource;
-import org.apache.solr.search.function.StringIndexDocValues;
 import org.apache.lucene.document.Fieldable;
 import org.apache.lucene.index.IndexReader.AtomicReaderContext;
 import org.apache.solr.util.NumberUtils;
Index: solr/src/java/org/apache/solr/schema/DoubleField.java
===================================================================
--- solr/src/java/org/apache/solr/schema/DoubleField.java	(revision 1140398)
+++ solr/src/java/org/apache/solr/schema/DoubleField.java	(working copy)
@@ -19,12 +19,12 @@
 
 import org.apache.lucene.document.Fieldable;
 import org.apache.lucene.queries.function.ValueSource;
+import org.apache.lucene.queries.function.valuesource.DoubleFieldSource;
 import org.apache.lucene.search.SortField;
 import org.apache.lucene.search.cache.CachedArrayCreator;
 import org.apache.lucene.search.cache.DoubleValuesCreator;
 import org.apache.solr.response.TextResponseWriter;
 import org.apache.solr.search.QParser;
-import org.apache.solr.search.function.DoubleFieldSource;
 
 import java.io.IOException;
 import java.util.Map;
Index: solr/src/java/org/apache/solr/schema/DateField.java
===================================================================
--- solr/src/java/org/apache/solr/schema/DateField.java	(revision 1140398)
+++ solr/src/java/org/apache/solr/schema/DateField.java	(working copy)
@@ -21,6 +21,8 @@
 import org.apache.lucene.index.IndexReader.AtomicReaderContext;
 import org.apache.lucene.queries.function.DocValues;
 import org.apache.lucene.queries.function.ValueSource;
+import org.apache.lucene.queries.function.docvalues.StringIndexDocValues;
+import org.apache.lucene.queries.function.valuesource.FieldCacheSource;
 import org.apache.lucene.search.Query;
 import org.apache.lucene.search.SortField;
 import org.apache.lucene.search.TermRangeQuery;
Index: solr/src/java/org/apache/solr/schema/LatLonType.java
===================================================================
--- solr/src/java/org/apache/solr/schema/LatLonType.java	(revision 1140398)
+++ solr/src/java/org/apache/solr/schema/LatLonType.java	(working copy)
@@ -22,6 +22,7 @@
 import org.apache.lucene.index.IndexReader.AtomicReaderContext;
 import org.apache.lucene.queries.function.DocValues;
 import org.apache.lucene.queries.function.ValueSource;
+import org.apache.lucene.queries.function.valuesource.VectorValueSource;
 import org.apache.lucene.search.*;
 import org.apache.lucene.spatial.DistanceUtils;
 import org.apache.lucene.spatial.tier.InvalidGeoException;
@@ -30,7 +31,6 @@
 import org.apache.solr.response.TextResponseWriter;
 import org.apache.solr.search.QParser;
 import org.apache.solr.search.SpatialOptions;
-import org.apache.solr.search.function.VectorValueSource;
 
 import java.io.IOException;
 import java.util.ArrayList;
Index: solr/src/java/org/apache/solr/schema/PointType.java
===================================================================
--- solr/src/java/org/apache/solr/schema/PointType.java	(revision 1140398)
+++ solr/src/java/org/apache/solr/schema/PointType.java	(working copy)
@@ -20,6 +20,7 @@
 import org.apache.lucene.document.Field;
 import org.apache.lucene.document.Fieldable;
 import org.apache.lucene.queries.function.ValueSource;
+import org.apache.lucene.queries.function.valuesource.VectorValueSource;
 import org.apache.lucene.search.BooleanClause;
 import org.apache.lucene.search.BooleanQuery;
 import org.apache.lucene.search.Query;
@@ -32,7 +33,6 @@
 import org.apache.solr.response.TextResponseWriter;
 import org.apache.solr.search.QParser;
 import org.apache.solr.search.SpatialOptions;
-import org.apache.solr.search.function.VectorValueSource;
 
 import java.io.IOException;
 import java.util.Map;
Index: solr/src/java/org/apache/solr/schema/RandomSortField.java
===================================================================
--- solr/src/java/org/apache/solr/schema/RandomSortField.java	(revision 1140398)
+++ solr/src/java/org/apache/solr/schema/RandomSortField.java	(working copy)
@@ -25,11 +25,11 @@
 import org.apache.lucene.index.IndexReader.AtomicReaderContext;
 import org.apache.lucene.queries.function.DocValues;
 import org.apache.lucene.queries.function.ValueSource;
+import org.apache.lucene.queries.function.docvalues.IntDocValues;
 import org.apache.lucene.search.*;
 import org.apache.lucene.util.ReaderUtil;
 import org.apache.solr.response.TextResponseWriter;
 import org.apache.solr.search.QParser;
-import org.apache.solr.search.function.IntDocValues;
 
 /**
  * Utility Field used for random sorting.  It should not be passed a value.
Index: solr/src/java/org/apache/solr/schema/SortableLongField.java
===================================================================
--- solr/src/java/org/apache/solr/schema/SortableLongField.java	(revision 1140398)
+++ solr/src/java/org/apache/solr/schema/SortableLongField.java	(working copy)
@@ -21,12 +21,12 @@
 import org.apache.lucene.common.mutable.MutableValueLong;
 import org.apache.lucene.queries.function.DocValues;
 import org.apache.lucene.queries.function.ValueSource;
+import org.apache.lucene.queries.function.docvalues.StringIndexDocValues;
+import org.apache.lucene.queries.function.valuesource.FieldCacheSource;
 import org.apache.lucene.search.SortField;
 import org.apache.lucene.util.BytesRef;
 import org.apache.lucene.util.CharsRef;
 import org.apache.solr.search.QParser;
-import org.apache.solr.search.function.FieldCacheSource;
-import org.apache.solr.search.function.StringIndexDocValues;
 import org.apache.lucene.document.Fieldable;
 import org.apache.lucene.index.IndexReader.AtomicReaderContext;
 import org.apache.solr.util.NumberUtils;
Index: solr/src/java/org/apache/solr/schema/LongField.java
===================================================================
--- solr/src/java/org/apache/solr/schema/LongField.java	(revision 1140398)
+++ solr/src/java/org/apache/solr/schema/LongField.java	(working copy)
@@ -19,12 +19,12 @@
 
 import org.apache.lucene.document.Fieldable;
 import org.apache.lucene.queries.function.ValueSource;
+import org.apache.lucene.queries.function.valuesource.LongFieldSource;
 import org.apache.lucene.search.SortField;
 import org.apache.lucene.search.cache.CachedArrayCreator;
 import org.apache.lucene.search.cache.LongValuesCreator;
 import org.apache.solr.response.TextResponseWriter;
 import org.apache.solr.search.QParser;
-import org.apache.solr.search.function.LongFieldSource;
 
 import java.io.IOException;
 import java.util.Map;
Index: solr/src/java/org/apache/solr/schema/ShortField.java
===================================================================
--- solr/src/java/org/apache/solr/schema/ShortField.java	(revision 1140398)
+++ solr/src/java/org/apache/solr/schema/ShortField.java	(working copy)
@@ -18,13 +18,13 @@
 
 import org.apache.lucene.document.Fieldable;
 import org.apache.lucene.queries.function.ValueSource;
+import org.apache.lucene.queries.function.valuesource.ShortFieldSource;
 import org.apache.lucene.search.SortField;
 import org.apache.lucene.search.cache.CachedArrayCreator;
 import org.apache.lucene.search.cache.ShortValuesCreator;
 
 import org.apache.solr.response.TextResponseWriter;
 import org.apache.solr.search.QParser;
-import org.apache.solr.search.function.ShortFieldSource;
 
 import java.io.IOException;
 import java.util.Map;
Index: solr/src/java/org/apache/solr/schema/SortableFloatField.java
===================================================================
--- solr/src/java/org/apache/solr/schema/SortableFloatField.java	(revision 1140398)
+++ solr/src/java/org/apache/solr/schema/SortableFloatField.java	(working copy)
@@ -21,12 +21,12 @@
 import org.apache.lucene.common.mutable.MutableValueFloat;
 import org.apache.lucene.queries.function.DocValues;
 import org.apache.lucene.queries.function.ValueSource;
+import org.apache.lucene.queries.function.docvalues.StringIndexDocValues;
+import org.apache.lucene.queries.function.valuesource.FieldCacheSource;
 import org.apache.lucene.search.SortField;
 import org.apache.lucene.util.BytesRef;
 import org.apache.lucene.util.CharsRef;
 import org.apache.solr.search.QParser;
-import org.apache.solr.search.function.FieldCacheSource;
-import org.apache.solr.search.function.StringIndexDocValues;
 import org.apache.lucene.document.Fieldable;
 import org.apache.lucene.index.IndexReader.AtomicReaderContext;
 import org.apache.solr.util.NumberUtils;
Index: solr/src/java/org/apache/solr/schema/ByteField.java
===================================================================
--- solr/src/java/org/apache/solr/schema/ByteField.java	(revision 1140398)
+++ solr/src/java/org/apache/solr/schema/ByteField.java	(working copy)
@@ -18,13 +18,13 @@
 
 import org.apache.lucene.document.Fieldable;
 import org.apache.lucene.queries.function.ValueSource;
+import org.apache.lucene.queries.function.valuesource.ByteFieldSource;
 import org.apache.lucene.search.SortField;
 import org.apache.lucene.search.cache.ByteValuesCreator;
 import org.apache.lucene.search.cache.CachedArrayCreator;
 
 import org.apache.solr.response.TextResponseWriter;
 import org.apache.solr.search.QParser;
-import org.apache.solr.search.function.ByteFieldSource;
 
 import java.io.IOException;
 import java.util.Map;
Index: solr/src/java/org/apache/solr/schema/FloatField.java
===================================================================
--- solr/src/java/org/apache/solr/schema/FloatField.java	(revision 1140398)
+++ solr/src/java/org/apache/solr/schema/FloatField.java	(working copy)
@@ -18,11 +18,11 @@
 package org.apache.solr.schema;
 
 import org.apache.lucene.queries.function.ValueSource;
+import org.apache.lucene.queries.function.valuesource.FloatFieldSource;
 import org.apache.lucene.search.SortField;
 import org.apache.lucene.search.cache.CachedArrayCreator;
 import org.apache.lucene.search.cache.FloatValuesCreator;
 import org.apache.solr.search.QParser;
-import org.apache.solr.search.function.FloatFieldSource;
 import org.apache.lucene.document.Fieldable;
 import org.apache.solr.response.TextResponseWriter;
 
Index: solr/src/java/org/apache/solr/schema/GeoHashField.java
===================================================================
--- solr/src/java/org/apache/solr/schema/GeoHashField.java	(revision 1140398)
+++ solr/src/java/org/apache/solr/schema/GeoHashField.java	(working copy)
@@ -19,6 +19,7 @@
 
 import org.apache.lucene.document.Fieldable;
 import org.apache.lucene.queries.function.ValueSource;
+import org.apache.lucene.queries.function.valuesource.LiteralValueSource;
 import org.apache.lucene.search.Query;
 import org.apache.lucene.search.SortField;
 import org.apache.lucene.spatial.geohash.GeoHashUtils;
@@ -29,7 +30,6 @@
 import org.apache.solr.search.QParser;
 import org.apache.solr.search.SolrConstantScoreQuery;
 import org.apache.solr.search.SpatialOptions;
-import org.apache.solr.search.function.LiteralValueSource;
 import org.apache.solr.search.function.ValueSourceRangeFilter;
 import org.apache.solr.search.function.distance.GeohashHaversineFunction;
 
Index: solr/src/java/org/apache/solr/schema/SortableIntField.java
===================================================================
--- solr/src/java/org/apache/solr/schema/SortableIntField.java	(revision 1140398)
+++ solr/src/java/org/apache/solr/schema/SortableIntField.java	(working copy)
@@ -21,12 +21,12 @@
 import org.apache.lucene.common.mutable.MutableValueInt;
 import org.apache.lucene.queries.function.DocValues;
 import org.apache.lucene.queries.function.ValueSource;
+import org.apache.lucene.queries.function.docvalues.StringIndexDocValues;
+import org.apache.lucene.queries.function.valuesource.FieldCacheSource;
 import org.apache.lucene.search.SortField;
 import org.apache.lucene.util.BytesRef;
 import org.apache.lucene.util.CharsRef;
 import org.apache.solr.search.QParser;
-import org.apache.solr.search.function.FieldCacheSource;
-import org.apache.solr.search.function.StringIndexDocValues;
 import org.apache.lucene.document.Fieldable;
 import org.apache.lucene.index.IndexReader.AtomicReaderContext;
 import org.apache.solr.util.NumberUtils;
Index: solr/src/java/org/apache/solr/schema/StrFieldSource.java
===================================================================
--- solr/src/java/org/apache/solr/schema/StrFieldSource.java	(revision 1140398)
+++ solr/src/java/org/apache/solr/schema/StrFieldSource.java	(working copy)
@@ -19,8 +19,8 @@
 
 import org.apache.lucene.index.IndexReader.AtomicReaderContext;
 import org.apache.lucene.queries.function.DocValues;
-import org.apache.solr.search.function.FieldCacheSource;
-import org.apache.solr.search.function.StringIndexDocValues;
+import org.apache.lucene.queries.function.docvalues.StringIndexDocValues;
+import org.apache.lucene.queries.function.valuesource.FieldCacheSource;
 
 import java.io.IOException;
 import java.util.Map;
Index: solr/src/java/org/apache/solr/schema/IntField.java
===================================================================
--- solr/src/java/org/apache/solr/schema/IntField.java	(revision 1140398)
+++ solr/src/java/org/apache/solr/schema/IntField.java	(working copy)
@@ -18,11 +18,11 @@
 package org.apache.solr.schema;
 
 import org.apache.lucene.queries.function.ValueSource;
+import org.apache.lucene.queries.function.valuesource.IntFieldSource;
 import org.apache.lucene.search.SortField;
 import org.apache.lucene.search.cache.CachedArrayCreator;
 import org.apache.lucene.search.cache.IntValuesCreator;
 import org.apache.solr.search.QParser;
-import org.apache.solr.search.function.IntFieldSource;
 import org.apache.lucene.document.Fieldable;
 import org.apache.solr.response.TextResponseWriter;
 
Index: solr/src/java/org/apache/solr/search/BoostQParserPlugin.java
===================================================================
--- solr/src/java/org/apache/solr/search/BoostQParserPlugin.java	(revision 1140398)
+++ solr/src/java/org/apache/solr/search/BoostQParserPlugin.java	(working copy)
@@ -18,13 +18,13 @@
 
 import org.apache.lucene.queries.function.FunctionQuery;
 import org.apache.lucene.queries.function.ValueSource;
+import org.apache.lucene.queries.function.valuesource.QueryValueSource;
 import org.apache.lucene.queryParser.ParseException;
 import org.apache.lucene.search.Query;
 import org.apache.solr.common.params.SolrParams;
 import org.apache.solr.common.util.NamedList;
 import org.apache.solr.request.SolrQueryRequest;
 import org.apache.solr.search.function.BoostedQuery;
-import org.apache.solr.search.function.QueryValueSource;
 
 /**
  * Create a boosted query from the input value.  The main value is the query to be boosted.
@@ -34,7 +34,8 @@
  * The query to be boosted may be of any type.
  *
  * <p>Example: <code>{!boost b=recip(ms(NOW,mydatefield),3.16e-11,1,1)}foo</code> creates a query "foo"
- * which is boosted by the date boosting function referenced in {@link org.apache.solr.search.function.ReciprocalFloatFunction}
+ * which is boosted by the date boosting function referenced in
+ * {@link org.apache.lucene.queries.function.valuesource.ReciprocalFloatFunction}
  */
 public class BoostQParserPlugin extends QParserPlugin {
   public static String NAME = "boost";
Index: solr/src/java/org/apache/solr/search/function/DoubleConstValueSource.java (deleted)
===================================================================
Index: solr/src/java/org/apache/solr/search/function/DoubleFieldSource.java (deleted)
===================================================================
Index: solr/src/java/org/apache/solr/search/function/IntDocValues.java (deleted)
===================================================================
Index: solr/src/java/org/apache/solr/search/function/MultiFunction.java (deleted)
===================================================================
Index: solr/src/java/org/apache/solr/search/function/BoolDocValues.java (deleted)
===================================================================
Index: solr/src/java/org/apache/solr/search/function/DocFreqValueSource.java (deleted)
===================================================================
Index: solr/src/java/org/apache/solr/search/function/DefFunction.java (deleted)
===================================================================
Index: solr/src/java/org/apache/solr/search/function/LinearFloatFunction.java (deleted)
===================================================================
Index: solr/src/java/org/apache/solr/search/function/MultiValueSource.java (deleted)
===================================================================
Index: solr/src/java/org/apache/solr/search/function/LiteralValueSource.java (deleted)
===================================================================
Index: solr/src/java/org/apache/solr/search/function/NumericFieldCacheSource.java (deleted)
===================================================================
Index: solr/src/java/org/apache/solr/search/function/SimpleBoolFunction.java (deleted)
===================================================================
Index: solr/src/java/org/apache/solr/search/function/ProductFloatFunction.java (deleted)
===================================================================
Index: solr/src/java/org/apache/solr/search/function/DivFloatFunction.java (deleted)
===================================================================
Index: solr/src/java/org/apache/solr/search/function/StrDocValues.java (deleted)
===================================================================
Index: solr/src/java/org/apache/solr/search/function/DoubleDocValues.java (deleted)
===================================================================
Index: solr/src/java/org/apache/solr/search/function/VectorValueSource.java (deleted)
===================================================================
Index: solr/src/java/org/apache/solr/search/function/QueryValueSource.java (deleted)
===================================================================
Index: solr/src/java/org/apache/solr/search/function/ScaleFloatFunction.java (deleted)
===================================================================
Index: solr/src/java/org/apache/solr/search/function/LongFieldSource.java (deleted)
===================================================================
Index: solr/src/java/org/apache/solr/search/function/ShortFieldSource.java (deleted)
===================================================================
Index: solr/src/java/org/apache/solr/search/function/FileFloatSource.java
===================================================================
--- solr/src/java/org/apache/solr/search/function/FileFloatSource.java	(revision 1140398)
+++ solr/src/java/org/apache/solr/search/function/FileFloatSource.java	(working copy)
@@ -35,6 +35,7 @@
 import org.apache.lucene.index.IndexReader.ReaderContext;
 import org.apache.lucene.queries.function.DocValues;
 import org.apache.lucene.queries.function.ValueSource;
+import org.apache.lucene.queries.function.docvalues.FloatDocValues;
 import org.apache.lucene.util.BytesRef;
 import org.apache.lucene.util.ReaderUtil;
 import org.apache.solr.core.SolrCore;
Index: solr/src/java/org/apache/solr/search/function/NumDocsValueSource.java (deleted)
===================================================================
Index: solr/src/java/org/apache/solr/search/function/RangeMapFloatFunction.java (deleted)
===================================================================
Index: solr/src/java/org/apache/solr/search/function/ByteFieldSource.java (deleted)
===================================================================
Index: solr/src/java/org/apache/solr/search/function/MaxDocValueSource.java (deleted)
===================================================================
Index: solr/src/java/org/apache/solr/search/function/FloatFieldSource.java (deleted)
===================================================================
Index: solr/src/java/org/apache/solr/search/function/SumFloatFunction.java (deleted)
===================================================================
Index: solr/src/java/org/apache/solr/search/function/BoolFunction.java (deleted)
===================================================================
Index: solr/src/java/org/apache/solr/search/function/PowFloatFunction.java (deleted)
===================================================================
Index: solr/src/java/org/apache/solr/search/function/TermFreqValueSource.java (deleted)
===================================================================
Index: solr/src/java/org/apache/solr/search/function/IfFunction.java (deleted)
===================================================================
Index: solr/src/java/org/apache/solr/search/function/ConstValueSource.java (deleted)
===================================================================
Index: solr/src/java/org/apache/solr/search/function/StringIndexDocValues.java (deleted)
===================================================================
Index: solr/src/java/org/apache/solr/search/function/LongDocValues.java (deleted)
===================================================================
Index: solr/src/java/org/apache/solr/search/function/ReverseOrdFieldSource.java (deleted)
===================================================================
Index: solr/src/java/org/apache/solr/search/function/OrdFieldSource.java (deleted)
===================================================================
Index: solr/src/java/org/apache/solr/search/function/distance/HaversineConstFunction.java
===================================================================
--- solr/src/java/org/apache/solr/search/function/distance/HaversineConstFunction.java	(revision 1140398)
+++ solr/src/java/org/apache/solr/search/function/distance/HaversineConstFunction.java	(working copy)
@@ -19,6 +19,11 @@
 import org.apache.lucene.index.IndexReader.AtomicReaderContext;
 import org.apache.lucene.queries.function.DocValues;
 import org.apache.lucene.queries.function.ValueSource;
+import org.apache.lucene.queries.function.docvalues.DoubleDocValues;
+import org.apache.lucene.queries.function.valuesource.ConstNumberSource;
+import org.apache.lucene.queries.function.valuesource.DoubleConstValueSource;
+import org.apache.lucene.queries.function.valuesource.MultiValueSource;
+import org.apache.lucene.queries.function.valuesource.VectorValueSource;
 import org.apache.lucene.queryParser.ParseException;
 import org.apache.lucene.search.IndexSearcher;
 import org.apache.lucene.spatial.DistanceUtils;
Index: solr/src/java/org/apache/solr/search/function/distance/VectorDistanceFunction.java
===================================================================
--- solr/src/java/org/apache/solr/search/function/distance/VectorDistanceFunction.java	(revision 1140398)
+++ solr/src/java/org/apache/solr/search/function/distance/VectorDistanceFunction.java	(working copy)
@@ -19,11 +19,11 @@
 import org.apache.lucene.index.IndexReader.AtomicReaderContext;
 import org.apache.lucene.queries.function.DocValues;
 import org.apache.lucene.queries.function.ValueSource;
+import org.apache.lucene.queries.function.docvalues.DoubleDocValues;
+import org.apache.lucene.queries.function.valuesource.MultiValueSource;
 import org.apache.lucene.search.IndexSearcher;
 import org.apache.lucene.spatial.DistanceUtils;
 import org.apache.solr.common.SolrException;
-import org.apache.solr.search.function.DoubleDocValues;
-import org.apache.solr.search.function.MultiValueSource;
 
 import java.io.IOException;
 import java.util.Map;
Index: solr/src/java/org/apache/solr/search/function/distance/SquaredEuclideanFunction.java
===================================================================
--- solr/src/java/org/apache/solr/search/function/distance/SquaredEuclideanFunction.java	(revision 1140398)
+++ solr/src/java/org/apache/solr/search/function/distance/SquaredEuclideanFunction.java	(working copy)
@@ -17,8 +17,8 @@
  */
 
 import org.apache.lucene.queries.function.DocValues;
+import org.apache.lucene.queries.function.valuesource.MultiValueSource;
 import org.apache.lucene.spatial.DistanceUtils;
-import org.apache.solr.search.function.MultiValueSource;
 
 
 /**
Index: solr/src/java/org/apache/solr/search/function/distance/StringDistanceFunction.java
===================================================================
--- solr/src/java/org/apache/solr/search/function/distance/StringDistanceFunction.java	(revision 1140398)
+++ solr/src/java/org/apache/solr/search/function/distance/StringDistanceFunction.java	(working copy)
@@ -20,8 +20,8 @@
 import org.apache.lucene.index.IndexReader.AtomicReaderContext;
 import org.apache.lucene.queries.function.DocValues;
 import org.apache.lucene.queries.function.ValueSource;
+import org.apache.lucene.queries.function.docvalues.FloatDocValues;
 import org.apache.lucene.search.spell.StringDistance;
-import org.apache.solr.search.function.FloatDocValues;
 
 import java.io.IOException;
 import java.util.Map;
Index: solr/src/java/org/apache/solr/search/function/distance/GeohashHaversineFunction.java
===================================================================
--- solr/src/java/org/apache/solr/search/function/distance/GeohashHaversineFunction.java	(revision 1140398)
+++ solr/src/java/org/apache/solr/search/function/distance/GeohashHaversineFunction.java	(working copy)
@@ -19,8 +19,8 @@
 
 import org.apache.lucene.queries.function.DocValues;
 import org.apache.lucene.queries.function.ValueSource;
+import org.apache.lucene.queries.function.docvalues.DoubleDocValues;
 import org.apache.lucene.spatial.DistanceUtils;
-import org.apache.solr.search.function.DoubleDocValues;
 import org.apache.lucene.index.IndexReader.AtomicReaderContext;
 import org.apache.lucene.search.IndexSearcher;
 import org.apache.lucene.spatial.geohash.GeoHashUtils;
Index: solr/src/java/org/apache/solr/search/function/distance/HaversineFunction.java
===================================================================
--- solr/src/java/org/apache/solr/search/function/distance/HaversineFunction.java	(revision 1140398)
+++ solr/src/java/org/apache/solr/search/function/distance/HaversineFunction.java	(working copy)
@@ -19,11 +19,11 @@
 import org.apache.lucene.index.IndexReader.AtomicReaderContext;
 import org.apache.lucene.queries.function.DocValues;
 import org.apache.lucene.queries.function.ValueSource;
+import org.apache.lucene.queries.function.docvalues.DoubleDocValues;
+import org.apache.lucene.queries.function.valuesource.MultiValueSource;
 import org.apache.lucene.search.IndexSearcher;
 import org.apache.lucene.spatial.DistanceUtils;
 import org.apache.solr.common.SolrException;
-import org.apache.solr.search.function.DoubleDocValues;
-import org.apache.solr.search.function.MultiValueSource;
 
 import java.io.IOException;
 import java.util.Map;
Index: solr/src/java/org/apache/solr/search/function/FloatDocValues.java (deleted)
===================================================================
Index: solr/src/java/org/apache/solr/search/function/MultiBoolFunction.java (deleted)
===================================================================
Index: solr/src/java/org/apache/solr/search/function/IntFieldSource.java (deleted)
===================================================================
Index: solr/src/java/org/apache/solr/search/function/ReciprocalFloatFunction.java (deleted)
===================================================================
Index: solr/src/java/org/apache/solr/search/function/IDFValueSource.java (deleted)
===================================================================
Index: solr/src/java/org/apache/solr/search/function/ConstNumberSource.java (deleted)
===================================================================
Index: solr/src/java/org/apache/solr/search/function/JoinDocFreqValueSource.java (deleted)
===================================================================
Index: solr/src/java/org/apache/solr/search/function/DualFloatFunction.java (deleted)
===================================================================
Index: solr/src/java/org/apache/solr/search/function/SimpleFloatFunction.java (deleted)
===================================================================
Index: solr/src/java/org/apache/solr/search/function/MultiFloatFunction.java (deleted)
===================================================================
Index: solr/src/java/org/apache/solr/search/function/SingleFunction.java (deleted)
===================================================================
Index: solr/src/java/org/apache/solr/search/function/TFValueSource.java (deleted)
===================================================================
Index: solr/src/java/org/apache/solr/search/function/FieldCacheSource.java (deleted)
===================================================================
Index: solr/src/java/org/apache/solr/search/function/NormValueSource.java (deleted)
===================================================================
Index: solr/src/java/org/apache/solr/search/ValueSourceParser.java
===================================================================
--- solr/src/java/org/apache/solr/search/ValueSourceParser.java	(revision 1140398)
+++ solr/src/java/org/apache/solr/search/ValueSourceParser.java	(working copy)
@@ -20,6 +20,10 @@
 import org.apache.lucene.index.Term;
 import org.apache.lucene.queries.function.DocValues;
 import org.apache.lucene.queries.function.ValueSource;
+import org.apache.lucene.queries.function.docvalues.BoolDocValues;
+import org.apache.lucene.queries.function.docvalues.DoubleDocValues;
+import org.apache.lucene.queries.function.docvalues.LongDocValues;
+import org.apache.lucene.queries.function.valuesource.*;
 import org.apache.lucene.queryParser.ParseException;
 import org.apache.lucene.search.Query;
 import org.apache.lucene.search.IndexSearcher;
Index: solr/src/java/org/apache/solr/search/FunctionRangeQParserPlugin.java
===================================================================
--- solr/src/java/org/apache/solr/search/FunctionRangeQParserPlugin.java	(revision 1140398)
+++ solr/src/java/org/apache/solr/search/FunctionRangeQParserPlugin.java	(working copy)
@@ -21,6 +21,7 @@
 import org.apache.lucene.queries.function.FunctionQuery;
 import org.apache.lucene.queries.function.ValueSource;
 import org.apache.lucene.queries.function.ValueSourceScorer;
+import org.apache.lucene.queries.function.valuesource.QueryValueSource;
 import org.apache.lucene.queryParser.ParseException;
 import org.apache.lucene.search.*;
 import org.apache.solr.common.params.SolrParams;
Index: solr/src/java/org/apache/solr/search/FunctionQParser.java
===================================================================
--- solr/src/java/org/apache/solr/search/FunctionQParser.java	(revision 1140398)
+++ solr/src/java/org/apache/solr/search/FunctionQParser.java	(working copy)
@@ -18,6 +18,7 @@
 
 import org.apache.lucene.queries.function.FunctionQuery;
 import org.apache.lucene.queries.function.ValueSource;
+import org.apache.lucene.queries.function.valuesource.*;
 import org.apache.lucene.queryParser.ParseException;
 import org.apache.lucene.search.Query;
 import org.apache.solr.common.params.SolrParams;
Index: solr/src/java/org/apache/solr/search/ExtendedDismaxQParserPlugin.java
===================================================================
--- solr/src/java/org/apache/solr/search/ExtendedDismaxQParserPlugin.java	(revision 1140398)
+++ solr/src/java/org/apache/solr/search/ExtendedDismaxQParserPlugin.java	(working copy)
@@ -24,6 +24,8 @@
 
 import org.apache.lucene.queries.function.FunctionQuery;
 import org.apache.lucene.queries.function.ValueSource;
+import org.apache.lucene.queries.function.valuesource.ProductFloatFunction;
+import org.apache.lucene.queries.function.valuesource.QueryValueSource;
 import org.apache.lucene.queryParser.ParseException;
 import org.apache.lucene.queryParser.QueryParser;
 import org.apache.lucene.search.*;
@@ -37,8 +39,6 @@
 import org.apache.solr.schema.FieldType;
 import org.apache.solr.search.QueryUtils;
 import org.apache.solr.search.function.BoostedQuery;
-import org.apache.solr.search.function.ProductFloatFunction;
-import org.apache.solr.search.function.QueryValueSource;
 import org.apache.solr.util.SolrPluginUtils;
 import org.apache.solr.analysis.*;
 
Index: solr/src/java/org/apache/solr/search/QueryParsing.java
===================================================================
--- solr/src/java/org/apache/solr/search/QueryParsing.java	(revision 1140398)
+++ solr/src/java/org/apache/solr/search/QueryParsing.java	(working copy)
@@ -19,6 +19,7 @@
 
 import org.apache.lucene.index.Term;
 import org.apache.lucene.queries.function.FunctionQuery;
+import org.apache.lucene.queries.function.valuesource.QueryValueSource;
 import org.apache.lucene.queryParser.ParseException;
 import org.apache.lucene.queryParser.QueryParser.Operator;
 import org.apache.lucene.search.BooleanClause;
@@ -44,7 +45,6 @@
 import org.apache.solr.schema.FieldType;
 import org.apache.solr.schema.IndexSchema;
 import org.apache.solr.schema.SchemaField;
-import org.apache.solr.search.function.QueryValueSource;
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.HashMap;
Index: solr/src/java/org/apache/solr/search/ReturnFields.java
===================================================================
--- solr/src/java/org/apache/solr/search/ReturnFields.java	(revision 1140398)
+++ solr/src/java/org/apache/solr/search/ReturnFields.java	(working copy)
@@ -21,6 +21,7 @@
 import org.apache.commons.io.FilenameUtils;
 import org.apache.lucene.queries.function.FunctionQuery;
 import org.apache.lucene.queries.function.ValueSource;
+import org.apache.lucene.queries.function.valuesource.QueryValueSource;
 import org.apache.lucene.queryParser.ParseException;
 import org.apache.lucene.search.Query;
 import org.apache.solr.common.SolrException;
@@ -35,7 +36,6 @@
 import org.apache.solr.response.transform.ScoreAugmenter;
 import org.apache.solr.response.transform.TransformerFactory;
 import org.apache.solr.response.transform.ValueSourceAugmenter;
-import org.apache.solr.search.function.QueryValueSource;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
Index: solr/src/java/org/apache/solr/search/Grouping.java
===================================================================
--- solr/src/java/org/apache/solr/search/Grouping.java	(revision 1140398)
+++ solr/src/java/org/apache/solr/search/Grouping.java	(working copy)
@@ -24,6 +24,7 @@
 import org.apache.lucene.queries.function.DocValues;
 import org.apache.lucene.queries.function.FunctionQuery;
 import org.apache.lucene.queries.function.ValueSource;
+import org.apache.lucene.queries.function.valuesource.QueryValueSource;
 import org.apache.lucene.queryParser.ParseException;
 import org.apache.lucene.search.*;
 import org.apache.lucene.search.grouping.*;
@@ -33,7 +34,6 @@
 import org.apache.solr.common.util.SimpleOrderedMap;
 import org.apache.solr.request.SolrQueryRequest;
 import org.apache.solr.schema.*;
-import org.apache.solr.search.function.QueryValueSource;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
Index: modules/queries/src/java/org/apache/lucene/queries/function/docvalues/DoubleDocValues.java
===================================================================
--- modules/queries/src/java/org/apache/lucene/queries/function/docvalues/DoubleDocValues.java	(revision 0)
+++ modules/queries/src/java/org/apache/lucene/queries/function/docvalues/DoubleDocValues.java	(working copy)
@@ -1,4 +1,4 @@
-package org.apache.solr.search.function;
+package org.apache.lucene.queries.function.docvalues;
 
 import org.apache.lucene.common.mutable.MutableValue;
 import org.apache.lucene.common.mutable.MutableValueDouble;
Index: modules/queries/src/java/org/apache/lucene/queries/function/docvalues/IntDocValues.java
===================================================================
--- modules/queries/src/java/org/apache/lucene/queries/function/docvalues/IntDocValues.java	(revision 0)
+++ modules/queries/src/java/org/apache/lucene/queries/function/docvalues/IntDocValues.java	(working copy)
@@ -1,4 +1,4 @@
-package org.apache.solr.search.function;
+package org.apache.lucene.queries.function.docvalues;
 
 import org.apache.lucene.common.mutable.MutableValue;
 import org.apache.lucene.common.mutable.MutableValueInt;
Index: modules/queries/src/java/org/apache/lucene/queries/function/docvalues/BoolDocValues.java
===================================================================
--- modules/queries/src/java/org/apache/lucene/queries/function/docvalues/BoolDocValues.java	(revision 0)
+++ modules/queries/src/java/org/apache/lucene/queries/function/docvalues/BoolDocValues.java	(working copy)
@@ -1,4 +1,4 @@
-package org.apache.solr.search.function;
+package org.apache.lucene.queries.function.docvalues;
 
 import org.apache.lucene.common.mutable.MutableValue;
 import org.apache.lucene.common.mutable.MutableValueBool;
Index: modules/queries/src/java/org/apache/lucene/queries/function/docvalues/StringIndexDocValues.java
===================================================================
--- modules/queries/src/java/org/apache/lucene/queries/function/docvalues/StringIndexDocValues.java	(revision 0)
+++ modules/queries/src/java/org/apache/lucene/queries/function/docvalues/StringIndexDocValues.java	(working copy)
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.solr.search.function;
+package org.apache.lucene.queries.function.docvalues;
 
 import org.apache.lucene.common.mutable.MutableValue;
 import org.apache.lucene.common.mutable.MutableValueStr;
Index: modules/queries/src/java/org/apache/lucene/queries/function/docvalues/LongDocValues.java
===================================================================
--- modules/queries/src/java/org/apache/lucene/queries/function/docvalues/LongDocValues.java	(revision 0)
+++ modules/queries/src/java/org/apache/lucene/queries/function/docvalues/LongDocValues.java	(working copy)
@@ -1,4 +1,4 @@
-package org.apache.solr.search.function;
+package org.apache.lucene.queries.function.docvalues;
 
 import org.apache.lucene.common.mutable.MutableValue;
 import org.apache.lucene.common.mutable.MutableValueLong;
Index: modules/queries/src/java/org/apache/lucene/queries/function/docvalues/FloatDocValues.java
===================================================================
--- modules/queries/src/java/org/apache/lucene/queries/function/docvalues/FloatDocValues.java	(revision 0)
+++ modules/queries/src/java/org/apache/lucene/queries/function/docvalues/FloatDocValues.java	(working copy)
@@ -1,4 +1,4 @@
-package org.apache.solr.search.function;
+package org.apache.lucene.queries.function.docvalues;
 
 import org.apache.lucene.common.mutable.MutableValue;
 import org.apache.lucene.common.mutable.MutableValueFloat;
Index: modules/queries/src/java/org/apache/lucene/queries/function/docvalues/StrDocValues.java
===================================================================
--- modules/queries/src/java/org/apache/lucene/queries/function/docvalues/StrDocValues.java	(revision 0)
+++ modules/queries/src/java/org/apache/lucene/queries/function/docvalues/StrDocValues.java	(working copy)
@@ -1,4 +1,4 @@
-package org.apache.solr.search.function;
+package org.apache.lucene.queries.function.docvalues;
 
 import org.apache.lucene.common.mutable.MutableValue;
 import org.apache.lucene.common.mutable.MutableValueStr;
Index: modules/queries/src/java/org/apache/lucene/queries/function/valuesource/DoubleConstValueSource.java
===================================================================
--- modules/queries/src/java/org/apache/lucene/queries/function/valuesource/DoubleConstValueSource.java	(revision 0)
+++ modules/queries/src/java/org/apache/lucene/queries/function/valuesource/DoubleConstValueSource.java	(working copy)
@@ -15,10 +15,11 @@
  * limitations under the License.
  */
 
-package org.apache.solr.search.function;
+package org.apache.lucene.queries.function.valuesource;
 
 import org.apache.lucene.index.IndexReader.AtomicReaderContext;
 import org.apache.lucene.queries.function.DocValues;
+import org.apache.lucene.queries.function.docvalues.DoubleDocValues;
 
 import java.io.IOException;
 import java.util.Map;
Index: modules/queries/src/java/org/apache/lucene/queries/function/valuesource/DoubleFieldSource.java
===================================================================
--- modules/queries/src/java/org/apache/lucene/queries/function/valuesource/DoubleFieldSource.java	(revision 0)
+++ modules/queries/src/java/org/apache/lucene/queries/function/valuesource/DoubleFieldSource.java	(working copy)
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.solr.search.function;
+package org.apache.lucene.queries.function.valuesource;
 
 import org.apache.lucene.common.mutable.MutableValue;
 import org.apache.lucene.common.mutable.MutableValueDouble;
@@ -23,6 +23,7 @@
 import org.apache.lucene.index.IndexReader.AtomicReaderContext;
 import org.apache.lucene.queries.function.DocValues;
 import org.apache.lucene.queries.function.ValueSourceScorer;
+import org.apache.lucene.queries.function.docvalues.DoubleDocValues;
 import org.apache.lucene.util.Bits;
 import org.apache.lucene.search.cache.DoubleValuesCreator;
 import org.apache.lucene.search.cache.CachedArray.DoubleValues;
Index: modules/queries/src/java/org/apache/lucene/queries/function/valuesource/MultiFunction.java
===================================================================
--- modules/queries/src/java/org/apache/lucene/queries/function/valuesource/MultiFunction.java	(revision 0)
+++ modules/queries/src/java/org/apache/lucene/queries/function/valuesource/MultiFunction.java	(working copy)
@@ -1,4 +1,4 @@
-package org.apache.solr.search.function;
+package org.apache.lucene.queries.function.valuesource;
 /**
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
Index: modules/queries/src/java/org/apache/lucene/queries/function/valuesource/DocFreqValueSource.java
===================================================================
--- modules/queries/src/java/org/apache/lucene/queries/function/valuesource/DocFreqValueSource.java	(revision 0)
+++ modules/queries/src/java/org/apache/lucene/queries/function/valuesource/DocFreqValueSource.java	(working copy)
@@ -15,15 +15,16 @@
  * limitations under the License.
  */
 
-package org.apache.solr.search.function;
+package org.apache.lucene.queries.function.valuesource;
 
 import org.apache.lucene.index.IndexReader.AtomicReaderContext;
 import org.apache.lucene.index.Term;
 import org.apache.lucene.queries.function.DocValues;
 import org.apache.lucene.queries.function.ValueSource;
+import org.apache.lucene.queries.function.docvalues.DoubleDocValues;
+import org.apache.lucene.queries.function.docvalues.IntDocValues;
 import org.apache.lucene.search.IndexSearcher;
 import org.apache.lucene.util.BytesRef;
-import org.apache.solr.search.*;
 
 import java.io.IOException;
 import java.util.Map;
Index: modules/queries/src/java/org/apache/lucene/queries/function/valuesource/DefFunction.java
===================================================================
--- modules/queries/src/java/org/apache/lucene/queries/function/valuesource/DefFunction.java	(revision 0)
+++ modules/queries/src/java/org/apache/lucene/queries/function/valuesource/DefFunction.java	(working copy)
@@ -1,4 +1,4 @@
-package org.apache.solr.search.function;
+package org.apache.lucene.queries.function.valuesource;
 /**
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
Index: modules/queries/src/java/org/apache/lucene/queries/function/valuesource/LinearFloatFunction.java
===================================================================
--- modules/queries/src/java/org/apache/lucene/queries/function/valuesource/LinearFloatFunction.java	(revision 0)
+++ modules/queries/src/java/org/apache/lucene/queries/function/valuesource/LinearFloatFunction.java	(working copy)
@@ -15,11 +15,12 @@
  * limitations under the License.
  */
 
-package org.apache.solr.search.function;
+package org.apache.lucene.queries.function.valuesource;
 
 import org.apache.lucene.index.IndexReader.AtomicReaderContext;
 import org.apache.lucene.queries.function.DocValues;
 import org.apache.lucene.queries.function.ValueSource;
+import org.apache.lucene.queries.function.docvalues.FloatDocValues;
 import org.apache.lucene.search.IndexSearcher;
 
 import java.io.IOException;
Index: modules/queries/src/java/org/apache/lucene/queries/function/valuesource/MultiValueSource.java
===================================================================
--- modules/queries/src/java/org/apache/lucene/queries/function/valuesource/MultiValueSource.java	(revision 0)
+++ modules/queries/src/java/org/apache/lucene/queries/function/valuesource/MultiValueSource.java	(working copy)
@@ -1,4 +1,4 @@
-package org.apache.solr.search.function;
+package org.apache.lucene.queries.function.valuesource;
 /**
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
Index: modules/queries/src/java/org/apache/lucene/queries/function/valuesource/LiteralValueSource.java
===================================================================
--- modules/queries/src/java/org/apache/lucene/queries/function/valuesource/LiteralValueSource.java	(revision 0)
+++ modules/queries/src/java/org/apache/lucene/queries/function/valuesource/LiteralValueSource.java	(working copy)
@@ -1,4 +1,4 @@
-package org.apache.solr.search.function;
+package org.apache.lucene.queries.function.valuesource;
 /**
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -19,6 +19,7 @@
 import org.apache.lucene.index.IndexReader.AtomicReaderContext;
 import org.apache.lucene.queries.function.DocValues;
 import org.apache.lucene.queries.function.ValueSource;
+import org.apache.lucene.queries.function.docvalues.StrDocValues;
 import org.apache.lucene.util.BytesRef;
 
 import java.util.Map;
Index: modules/queries/src/java/org/apache/lucene/queries/function/valuesource/SimpleBoolFunction.java
===================================================================
--- modules/queries/src/java/org/apache/lucene/queries/function/valuesource/SimpleBoolFunction.java	(revision 0)
+++ modules/queries/src/java/org/apache/lucene/queries/function/valuesource/SimpleBoolFunction.java	(working copy)
@@ -15,11 +15,12 @@
  * limitations under the License.
  */
 
-package org.apache.solr.search.function;
+package org.apache.lucene.queries.function.valuesource;
 
 import org.apache.lucene.index.IndexReader.AtomicReaderContext;
 import org.apache.lucene.queries.function.DocValues;
 import org.apache.lucene.queries.function.ValueSource;
+import org.apache.lucene.queries.function.docvalues.BoolDocValues;
 import org.apache.lucene.search.IndexSearcher;
 
 import java.io.IOException;
Index: modules/queries/src/java/org/apache/lucene/queries/function/valuesource/NumericFieldCacheSource.java
===================================================================
--- modules/queries/src/java/org/apache/lucene/queries/function/valuesource/NumericFieldCacheSource.java	(revision 0)
+++ modules/queries/src/java/org/apache/lucene/queries/function/valuesource/NumericFieldCacheSource.java	(working copy)
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.solr.search.function;
+package org.apache.lucene.queries.function.valuesource;
 
 import org.apache.lucene.search.cache.CachedArray;
 import org.apache.lucene.search.cache.CachedArrayCreator;
Index: modules/queries/src/java/org/apache/lucene/queries/function/valuesource/ProductFloatFunction.java
===================================================================
--- modules/queries/src/java/org/apache/lucene/queries/function/valuesource/ProductFloatFunction.java	(revision 0)
+++ modules/queries/src/java/org/apache/lucene/queries/function/valuesource/ProductFloatFunction.java	(working copy)
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.solr.search.function;
+package org.apache.lucene.queries.function.valuesource;
 
 import org.apache.lucene.queries.function.DocValues;
 import org.apache.lucene.queries.function.ValueSource;
Index: modules/queries/src/java/org/apache/lucene/queries/function/valuesource/DivFloatFunction.java
===================================================================
--- modules/queries/src/java/org/apache/lucene/queries/function/valuesource/DivFloatFunction.java	(revision 0)
+++ modules/queries/src/java/org/apache/lucene/queries/function/valuesource/DivFloatFunction.java	(working copy)
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.solr.search.function;
+package org.apache.lucene.queries.function.valuesource;
 
 import org.apache.lucene.queries.function.DocValues;
 import org.apache.lucene.queries.function.ValueSource;
Index: modules/queries/src/java/org/apache/lucene/queries/function/valuesource/VectorValueSource.java
===================================================================
--- modules/queries/src/java/org/apache/lucene/queries/function/valuesource/VectorValueSource.java	(revision 0)
+++ modules/queries/src/java/org/apache/lucene/queries/function/valuesource/VectorValueSource.java	(working copy)
@@ -1,4 +1,4 @@
-package org.apache.solr.search.function;
+package org.apache.lucene.queries.function.valuesource;
 /**
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -20,7 +20,6 @@
 import org.apache.lucene.queries.function.DocValues;
 import org.apache.lucene.queries.function.ValueSource;
 import org.apache.lucene.search.IndexSearcher;
-import org.apache.solr.search.function.MultiValueSource;
 
 import java.io.IOException;
 import java.util.List;
Index: modules/queries/src/java/org/apache/lucene/queries/function/valuesource/ScaleFloatFunction.java
===================================================================
--- modules/queries/src/java/org/apache/lucene/queries/function/valuesource/ScaleFloatFunction.java	(revision 0)
+++ modules/queries/src/java/org/apache/lucene/queries/function/valuesource/ScaleFloatFunction.java	(working copy)
@@ -15,11 +15,12 @@
  * limitations under the License.
  */
 
-package org.apache.solr.search.function;
+package org.apache.lucene.queries.function.valuesource;
 
 import org.apache.lucene.index.IndexReader.AtomicReaderContext;
 import org.apache.lucene.queries.function.DocValues;
 import org.apache.lucene.queries.function.ValueSource;
+import org.apache.lucene.queries.function.docvalues.FloatDocValues;
 import org.apache.lucene.search.IndexSearcher;
 import org.apache.lucene.util.ReaderUtil;
 
Index: modules/queries/src/java/org/apache/lucene/queries/function/valuesource/QueryValueSource.java
===================================================================
--- modules/queries/src/java/org/apache/lucene/queries/function/valuesource/QueryValueSource.java	(revision 0)
+++ modules/queries/src/java/org/apache/lucene/queries/function/valuesource/QueryValueSource.java	(working copy)
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.solr.search.function;
+package org.apache.lucene.queries.function.valuesource;
 
 import org.apache.lucene.common.mutable.MutableValue;
 import org.apache.lucene.common.mutable.MutableValueFloat;
@@ -23,10 +23,10 @@
 import org.apache.lucene.index.IndexReader.AtomicReaderContext;
 import org.apache.lucene.queries.function.DocValues;
 import org.apache.lucene.queries.function.ValueSource;
+import org.apache.lucene.queries.function.docvalues.FloatDocValues;
 import org.apache.lucene.search.*;
 import org.apache.lucene.search.Weight.ScorerContext;
 import org.apache.lucene.util.ReaderUtil;
-import org.apache.solr.common.SolrException;
 
 import java.io.IOException;
 import java.util.Map;
@@ -144,7 +144,7 @@
       // a match!
       return scorer.score();
     } catch (IOException e) {
-      throw new SolrException(SolrException.ErrorCode.SERVER_ERROR, "caught exception in QueryDocVals("+q+") doc="+doc, e);
+      throw new RuntimeException("caught exception in QueryDocVals("+q+") doc="+doc, e);
     }
   }
 
@@ -175,7 +175,7 @@
       // a match!
       return true;
     } catch (IOException e) {
-      throw new SolrException(SolrException.ErrorCode.SERVER_ERROR, "caught exception in QueryDocVals("+q+") doc="+doc, e);
+      throw new RuntimeException("caught exception in QueryDocVals("+q+") doc="+doc, e);
     }
   }
 
@@ -184,7 +184,7 @@
      try {
        return exists(doc) ? scorer.score() : null;
      } catch (IOException e) {
-       throw new SolrException(SolrException.ErrorCode.SERVER_ERROR, "caught exception in QueryDocVals("+q+") doc="+doc, e);
+       throw new RuntimeException("caught exception in QueryDocVals("+q+") doc="+doc, e);
      }
    }
 
@@ -238,7 +238,7 @@
           mval.exists = true;
           return;
         } catch (IOException e) {
-          throw new SolrException(SolrException.ErrorCode.SERVER_ERROR, "caught exception in QueryDocVals("+q+") doc="+doc, e);
+          throw new RuntimeException("caught exception in QueryDocVals("+q+") doc="+doc, e);
         }
       }
     };
Index: modules/queries/src/java/org/apache/lucene/queries/function/valuesource/ShortFieldSource.java
===================================================================
--- modules/queries/src/java/org/apache/lucene/queries/function/valuesource/ShortFieldSource.java	(revision 0)
+++ modules/queries/src/java/org/apache/lucene/queries/function/valuesource/ShortFieldSource.java	(working copy)
@@ -1,4 +1,4 @@
-package org.apache.solr.search.function;
+package org.apache.lucene.queries.function.valuesource;
 /**
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
Index: modules/queries/src/java/org/apache/lucene/queries/function/valuesource/LongFieldSource.java
===================================================================
--- modules/queries/src/java/org/apache/lucene/queries/function/valuesource/LongFieldSource.java	(revision 0)
+++ modules/queries/src/java/org/apache/lucene/queries/function/valuesource/LongFieldSource.java	(working copy)
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.solr.search.function;
+package org.apache.lucene.queries.function.valuesource;
 
 import org.apache.lucene.common.mutable.MutableValue;
 import org.apache.lucene.common.mutable.MutableValueLong;
@@ -23,6 +23,7 @@
 import org.apache.lucene.index.IndexReader.AtomicReaderContext;
 import org.apache.lucene.queries.function.DocValues;
 import org.apache.lucene.queries.function.ValueSourceScorer;
+import org.apache.lucene.queries.function.docvalues.LongDocValues;
 import org.apache.lucene.util.Bits;
 import org.apache.lucene.search.cache.LongValuesCreator;
 import org.apache.lucene.search.cache.CachedArray.LongValues;
Index: modules/queries/src/java/org/apache/lucene/queries/function/valuesource/RangeMapFloatFunction.java
===================================================================
--- modules/queries/src/java/org/apache/lucene/queries/function/valuesource/RangeMapFloatFunction.java	(revision 0)
+++ modules/queries/src/java/org/apache/lucene/queries/function/valuesource/RangeMapFloatFunction.java	(working copy)
@@ -15,11 +15,12 @@
  * limitations under the License.
  */
 
-package org.apache.solr.search.function;
+package org.apache.lucene.queries.function.valuesource;
 
 import org.apache.lucene.index.IndexReader.AtomicReaderContext;
 import org.apache.lucene.queries.function.DocValues;
 import org.apache.lucene.queries.function.ValueSource;
+import org.apache.lucene.queries.function.docvalues.FloatDocValues;
 import org.apache.lucene.search.IndexSearcher;
 
 import java.io.IOException;
Index: modules/queries/src/java/org/apache/lucene/queries/function/valuesource/NumDocsValueSource.java
===================================================================
--- modules/queries/src/java/org/apache/lucene/queries/function/valuesource/NumDocsValueSource.java	(revision 0)
+++ modules/queries/src/java/org/apache/lucene/queries/function/valuesource/NumDocsValueSource.java	(working copy)
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.solr.search.function;
+package org.apache.lucene.queries.function.valuesource;
 
 import org.apache.lucene.index.IndexReader.AtomicReaderContext;
 import org.apache.lucene.queries.function.DocValues;
Index: modules/queries/src/java/org/apache/lucene/queries/function/valuesource/ByteFieldSource.java
===================================================================
--- modules/queries/src/java/org/apache/lucene/queries/function/valuesource/ByteFieldSource.java	(revision 0)
+++ modules/queries/src/java/org/apache/lucene/queries/function/valuesource/ByteFieldSource.java	(working copy)
@@ -1,4 +1,4 @@
-package org.apache.solr.search.function;
+package org.apache.lucene.queries.function.valuesource;
 /**
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
Index: modules/queries/src/java/org/apache/lucene/queries/function/valuesource/MaxDocValueSource.java
===================================================================
--- modules/queries/src/java/org/apache/lucene/queries/function/valuesource/MaxDocValueSource.java	(revision 0)
+++ modules/queries/src/java/org/apache/lucene/queries/function/valuesource/MaxDocValueSource.java	(working copy)
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.solr.search.function;
+package org.apache.lucene.queries.function.valuesource;
 
 import org.apache.lucene.index.IndexReader.AtomicReaderContext;
 import org.apache.lucene.queries.function.DocValues;
Index: modules/queries/src/java/org/apache/lucene/queries/function/valuesource/FloatFieldSource.java
===================================================================
--- modules/queries/src/java/org/apache/lucene/queries/function/valuesource/FloatFieldSource.java	(revision 0)
+++ modules/queries/src/java/org/apache/lucene/queries/function/valuesource/FloatFieldSource.java	(working copy)
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.solr.search.function;
+package org.apache.lucene.queries.function.valuesource;
 
 import java.io.IOException;
 import java.util.Map;
@@ -24,6 +24,7 @@
 import org.apache.lucene.common.mutable.MutableValueFloat;
 import org.apache.lucene.index.IndexReader.AtomicReaderContext;
 import org.apache.lucene.queries.function.DocValues;
+import org.apache.lucene.queries.function.docvalues.FloatDocValues;
 import org.apache.lucene.util.Bits;
 import org.apache.lucene.search.cache.FloatValuesCreator;
 import org.apache.lucene.search.cache.CachedArray.FloatValues;
Index: modules/queries/src/java/org/apache/lucene/queries/function/valuesource/SumFloatFunction.java
===================================================================
--- modules/queries/src/java/org/apache/lucene/queries/function/valuesource/SumFloatFunction.java	(revision 0)
+++ modules/queries/src/java/org/apache/lucene/queries/function/valuesource/SumFloatFunction.java	(working copy)
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.solr.search.function;
+package org.apache.lucene.queries.function.valuesource;
 
 import org.apache.lucene.queries.function.DocValues;
 import org.apache.lucene.queries.function.ValueSource;
Index: modules/queries/src/java/org/apache/lucene/queries/function/valuesource/PowFloatFunction.java
===================================================================
--- modules/queries/src/java/org/apache/lucene/queries/function/valuesource/PowFloatFunction.java	(revision 0)
+++ modules/queries/src/java/org/apache/lucene/queries/function/valuesource/PowFloatFunction.java	(working copy)
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.solr.search.function;
+package org.apache.lucene.queries.function.valuesource;
 
 import org.apache.lucene.queries.function.DocValues;
 import org.apache.lucene.queries.function.ValueSource;
Index: modules/queries/src/java/org/apache/lucene/queries/function/valuesource/BoolFunction.java
===================================================================
--- modules/queries/src/java/org/apache/lucene/queries/function/valuesource/BoolFunction.java	(revision 0)
+++ modules/queries/src/java/org/apache/lucene/queries/function/valuesource/BoolFunction.java	(working copy)
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.solr.search.function;
+package org.apache.lucene.queries.function.valuesource;
 
 import org.apache.lucene.queries.function.ValueSource;
 
Index: modules/queries/src/java/org/apache/lucene/queries/function/valuesource/TermFreqValueSource.java
===================================================================
--- modules/queries/src/java/org/apache/lucene/queries/function/valuesource/TermFreqValueSource.java	(revision 0)
+++ modules/queries/src/java/org/apache/lucene/queries/function/valuesource/TermFreqValueSource.java	(working copy)
@@ -15,14 +15,14 @@
  * limitations under the License.
  */
 
-package org.apache.solr.search.function;
+package org.apache.lucene.queries.function.valuesource;
 
 import org.apache.lucene.index.*;
 import org.apache.lucene.index.IndexReader.AtomicReaderContext;
 import org.apache.lucene.queries.function.DocValues;
+import org.apache.lucene.queries.function.docvalues.IntDocValues;
 import org.apache.lucene.search.DocIdSetIterator;
 import org.apache.lucene.util.BytesRef;
-import org.apache.solr.common.SolrException;
 
 import java.io.IOException;
 import java.util.Map;
@@ -100,7 +100,7 @@
           // a match!
           return docs.freq();
         } catch (IOException e) {
-          throw new SolrException(SolrException.ErrorCode.SERVER_ERROR, "caught exception in function "+description()+" : doc="+doc, e);
+          throw new RuntimeException("caught exception in function "+description()+" : doc="+doc, e);
         }
       }
     };
Index: modules/queries/src/java/org/apache/lucene/queries/function/valuesource/IfFunction.java
===================================================================
--- modules/queries/src/java/org/apache/lucene/queries/function/valuesource/IfFunction.java	(revision 0)
+++ modules/queries/src/java/org/apache/lucene/queries/function/valuesource/IfFunction.java	(working copy)
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.solr.search.function;
+package org.apache.lucene.queries.function.valuesource;
 
 import org.apache.lucene.index.IndexReader;
 import org.apache.lucene.index.IndexReader.AtomicReaderContext;
Index: modules/queries/src/java/org/apache/lucene/queries/function/valuesource/ConstValueSource.java
===================================================================
--- modules/queries/src/java/org/apache/lucene/queries/function/valuesource/ConstValueSource.java	(revision 0)
+++ modules/queries/src/java/org/apache/lucene/queries/function/valuesource/ConstValueSource.java	(working copy)
@@ -15,10 +15,11 @@
  * limitations under the License.
  */
 
-package org.apache.solr.search.function;
+package org.apache.lucene.queries.function.valuesource;
 
 import org.apache.lucene.index.IndexReader.AtomicReaderContext;
 import org.apache.lucene.queries.function.DocValues;
+import org.apache.lucene.queries.function.docvalues.FloatDocValues;
 
 import java.io.IOException;
 import java.util.Map;
Index: modules/queries/src/java/org/apache/lucene/queries/function/valuesource/ReverseOrdFieldSource.java
===================================================================
--- modules/queries/src/java/org/apache/lucene/queries/function/valuesource/ReverseOrdFieldSource.java	(revision 0)
+++ modules/queries/src/java/org/apache/lucene/queries/function/valuesource/ReverseOrdFieldSource.java	(working copy)
@@ -15,12 +15,13 @@
  * limitations under the License.
  */
 
-package org.apache.solr.search.function;
+package org.apache.lucene.queries.function.valuesource;
 
 import org.apache.lucene.index.IndexReader;
 import org.apache.lucene.index.IndexReader.AtomicReaderContext;
 import org.apache.lucene.queries.function.DocValues;
 import org.apache.lucene.queries.function.ValueSource;
+import org.apache.lucene.queries.function.docvalues.IntDocValues;
 import org.apache.lucene.search.FieldCache;
 import org.apache.lucene.util.ReaderUtil;
 
Index: modules/queries/src/java/org/apache/lucene/queries/function/valuesource/OrdFieldSource.java
===================================================================
--- modules/queries/src/java/org/apache/lucene/queries/function/valuesource/OrdFieldSource.java	(revision 0)
+++ modules/queries/src/java/org/apache/lucene/queries/function/valuesource/OrdFieldSource.java	(working copy)
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.solr.search.function;
+package org.apache.lucene.queries.function.valuesource;
 
 import org.apache.lucene.common.mutable.MutableValue;
 import org.apache.lucene.common.mutable.MutableValueInt;
@@ -23,6 +23,7 @@
 import org.apache.lucene.index.IndexReader.AtomicReaderContext;
 import org.apache.lucene.queries.function.DocValues;
 import org.apache.lucene.queries.function.ValueSource;
+import org.apache.lucene.queries.function.docvalues.IntDocValues;
 import org.apache.lucene.search.FieldCache;
 import org.apache.lucene.util.ReaderUtil;
 
Index: modules/queries/src/java/org/apache/lucene/queries/function/valuesource/MultiBoolFunction.java
===================================================================
--- modules/queries/src/java/org/apache/lucene/queries/function/valuesource/MultiBoolFunction.java	(revision 0)
+++ modules/queries/src/java/org/apache/lucene/queries/function/valuesource/MultiBoolFunction.java	(working copy)
@@ -15,11 +15,12 @@
  * limitations under the License.
  */
 
-package org.apache.solr.search.function;
+package org.apache.lucene.queries.function.valuesource;
 
 import org.apache.lucene.index.IndexReader.AtomicReaderContext;
 import org.apache.lucene.queries.function.DocValues;
 import org.apache.lucene.queries.function.ValueSource;
+import org.apache.lucene.queries.function.docvalues.BoolDocValues;
 import org.apache.lucene.search.IndexSearcher;
 
 import java.io.IOException;
Index: modules/queries/src/java/org/apache/lucene/queries/function/valuesource/IntFieldSource.java
===================================================================
--- modules/queries/src/java/org/apache/lucene/queries/function/valuesource/IntFieldSource.java	(revision 0)
+++ modules/queries/src/java/org/apache/lucene/queries/function/valuesource/IntFieldSource.java	(working copy)
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.solr.search.function;
+package org.apache.lucene.queries.function.valuesource;
 
 import org.apache.lucene.common.mutable.MutableValue;
 import org.apache.lucene.common.mutable.MutableValueInt;
@@ -23,6 +23,7 @@
 import org.apache.lucene.index.IndexReader.AtomicReaderContext;
 import org.apache.lucene.queries.function.DocValues;
 import org.apache.lucene.queries.function.ValueSourceScorer;
+import org.apache.lucene.queries.function.docvalues.IntDocValues;
 import org.apache.lucene.util.Bits;
 import org.apache.lucene.search.cache.IntValuesCreator;
 import org.apache.lucene.search.cache.CachedArray.IntValues;
Index: modules/queries/src/java/org/apache/lucene/queries/function/valuesource/ReciprocalFloatFunction.java
===================================================================
--- modules/queries/src/java/org/apache/lucene/queries/function/valuesource/ReciprocalFloatFunction.java	(revision 0)
+++ modules/queries/src/java/org/apache/lucene/queries/function/valuesource/ReciprocalFloatFunction.java	(working copy)
@@ -15,11 +15,12 @@
  * limitations under the License.
  */
 
-package org.apache.solr.search.function;
+package org.apache.lucene.queries.function.valuesource;
 
 import org.apache.lucene.index.IndexReader.AtomicReaderContext;
 import org.apache.lucene.queries.function.DocValues;
 import org.apache.lucene.queries.function.ValueSource;
+import org.apache.lucene.queries.function.docvalues.FloatDocValues;
 import org.apache.lucene.search.IndexSearcher;
 
 import java.io.IOException;
Index: modules/queries/src/java/org/apache/lucene/queries/function/valuesource/IDFValueSource.java
===================================================================
--- modules/queries/src/java/org/apache/lucene/queries/function/valuesource/IDFValueSource.java	(revision 0)
+++ modules/queries/src/java/org/apache/lucene/queries/function/valuesource/IDFValueSource.java	(working copy)
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.solr.search.function;
+package org.apache.lucene.queries.function.valuesource;
 
 import org.apache.lucene.index.*;
 import org.apache.lucene.index.IndexReader.AtomicReaderContext;
Index: modules/queries/src/java/org/apache/lucene/queries/function/valuesource/ConstNumberSource.java
===================================================================
--- modules/queries/src/java/org/apache/lucene/queries/function/valuesource/ConstNumberSource.java	(revision 0)
+++ modules/queries/src/java/org/apache/lucene/queries/function/valuesource/ConstNumberSource.java	(working copy)
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.solr.search.function;
+package org.apache.lucene.queries.function.valuesource;
 
 import org.apache.lucene.queries.function.ValueSource;
 
Index: modules/queries/src/java/org/apache/lucene/queries/function/valuesource/DualFloatFunction.java
===================================================================
--- modules/queries/src/java/org/apache/lucene/queries/function/valuesource/DualFloatFunction.java	(revision 0)
+++ modules/queries/src/java/org/apache/lucene/queries/function/valuesource/DualFloatFunction.java	(working copy)
@@ -15,11 +15,12 @@
  * limitations under the License.
  */
 
-package org.apache.solr.search.function;
+package org.apache.lucene.queries.function.valuesource;
 
 import org.apache.lucene.index.IndexReader.AtomicReaderContext;
 import org.apache.lucene.queries.function.DocValues;
 import org.apache.lucene.queries.function.ValueSource;
+import org.apache.lucene.queries.function.docvalues.FloatDocValues;
 import org.apache.lucene.search.IndexSearcher;
 
 import java.io.IOException;
Index: modules/queries/src/java/org/apache/lucene/queries/function/valuesource/JoinDocFreqValueSource.java
===================================================================
--- modules/queries/src/java/org/apache/lucene/queries/function/valuesource/JoinDocFreqValueSource.java	(revision 0)
+++ modules/queries/src/java/org/apache/lucene/queries/function/valuesource/JoinDocFreqValueSource.java	(working copy)
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.solr.search.function;
+package org.apache.lucene.queries.function.valuesource;
 
 import java.io.IOException;
 import java.util.Map;
@@ -23,10 +23,10 @@
 import org.apache.lucene.index.IndexReader;
 import org.apache.lucene.index.IndexReader.AtomicReaderContext;
 import org.apache.lucene.queries.function.DocValues;
+import org.apache.lucene.queries.function.docvalues.IntDocValues;
 import org.apache.lucene.search.FieldCache.DocTerms;
 import org.apache.lucene.util.BytesRef;
 import org.apache.lucene.util.ReaderUtil;
-import org.apache.solr.common.SolrException;
 
 /**
  * Use a field value and find the Document Frequency within another field.
@@ -68,7 +68,7 @@
           return v;
         } 
         catch (IOException e) {
-          throw new SolrException(SolrException.ErrorCode.SERVER_ERROR, "caught exception in function "+description()+" : doc="+doc, e);
+          throw new RuntimeException("caught exception in function "+description()+" : doc="+doc, e);
         }
       }
     };
Index: modules/queries/src/java/org/apache/lucene/queries/function/valuesource/SimpleFloatFunction.java
===================================================================
--- modules/queries/src/java/org/apache/lucene/queries/function/valuesource/SimpleFloatFunction.java	(revision 0)
+++ modules/queries/src/java/org/apache/lucene/queries/function/valuesource/SimpleFloatFunction.java	(working copy)
@@ -15,11 +15,12 @@
  * limitations under the License.
  */
 
-package org.apache.solr.search.function;
+package org.apache.lucene.queries.function.valuesource;
 
 import org.apache.lucene.index.IndexReader.AtomicReaderContext;
 import org.apache.lucene.queries.function.DocValues;
 import org.apache.lucene.queries.function.ValueSource;
+import org.apache.lucene.queries.function.docvalues.FloatDocValues;
 
 import java.io.IOException;
 import java.util.Map;
Index: modules/queries/src/java/org/apache/lucene/queries/function/valuesource/MultiFloatFunction.java
===================================================================
--- modules/queries/src/java/org/apache/lucene/queries/function/valuesource/MultiFloatFunction.java	(revision 0)
+++ modules/queries/src/java/org/apache/lucene/queries/function/valuesource/MultiFloatFunction.java	(working copy)
@@ -1,4 +1,4 @@
-package org.apache.solr.search.function;
+package org.apache.lucene.queries.function.valuesource;
 /**
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -19,6 +19,7 @@
 import org.apache.lucene.index.IndexReader.AtomicReaderContext;
 import org.apache.lucene.queries.function.DocValues;
 import org.apache.lucene.queries.function.ValueSource;
+import org.apache.lucene.queries.function.docvalues.FloatDocValues;
 import org.apache.lucene.search.IndexSearcher;
 
 import java.util.Map;
Index: modules/queries/src/java/org/apache/lucene/queries/function/valuesource/SingleFunction.java
===================================================================
--- modules/queries/src/java/org/apache/lucene/queries/function/valuesource/SingleFunction.java	(revision 0)
+++ modules/queries/src/java/org/apache/lucene/queries/function/valuesource/SingleFunction.java	(working copy)
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.solr.search.function;
+package org.apache.lucene.queries.function.valuesource;
 
 import org.apache.lucene.queries.function.ValueSource;
 import org.apache.lucene.search.IndexSearcher;
Index: modules/queries/src/java/org/apache/lucene/queries/function/valuesource/TFValueSource.java
===================================================================
--- modules/queries/src/java/org/apache/lucene/queries/function/valuesource/TFValueSource.java	(revision 0)
+++ modules/queries/src/java/org/apache/lucene/queries/function/valuesource/TFValueSource.java	(working copy)
@@ -1,4 +1,4 @@
-package org.apache.solr.search.function;
+package org.apache.lucene.queries.function.valuesource;
 
 /**
  * Licensed to the Apache Software Foundation (ASF) under one or more
@@ -20,11 +20,11 @@
 import org.apache.lucene.index.*;
 import org.apache.lucene.index.IndexReader.AtomicReaderContext;
 import org.apache.lucene.queries.function.DocValues;
+import org.apache.lucene.queries.function.docvalues.FloatDocValues;
 import org.apache.lucene.search.DocIdSetIterator;
 import org.apache.lucene.search.IndexSearcher;
 import org.apache.lucene.search.Similarity;
 import org.apache.lucene.util.BytesRef;
-import org.apache.solr.common.SolrException;
 
 import java.io.IOException;
 import java.util.Map;
@@ -103,7 +103,7 @@
           // a match!
           return similarity.tf(docs.freq());
         } catch (IOException e) {
-          throw new SolrException(SolrException.ErrorCode.SERVER_ERROR, "caught exception in function "+description()+" : doc="+doc, e);
+          throw new RuntimeException("caught exception in function "+description()+" : doc="+doc, e);
         }
       }
     };
Index: modules/queries/src/java/org/apache/lucene/queries/function/valuesource/FieldCacheSource.java
===================================================================
--- modules/queries/src/java/org/apache/lucene/queries/function/valuesource/FieldCacheSource.java	(revision 0)
+++ modules/queries/src/java/org/apache/lucene/queries/function/valuesource/FieldCacheSource.java	(working copy)
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.solr.search.function;
+package org.apache.lucene.queries.function.valuesource;
 
 import org.apache.lucene.queries.function.ValueSource;
 import org.apache.lucene.search.FieldCache;
Index: modules/queries/src/java/org/apache/lucene/queries/function/valuesource/NormValueSource.java
===================================================================
--- modules/queries/src/java/org/apache/lucene/queries/function/valuesource/NormValueSource.java	(revision 0)
+++ modules/queries/src/java/org/apache/lucene/queries/function/valuesource/NormValueSource.java	(working copy)
@@ -15,11 +15,12 @@
  * limitations under the License.
  */
 
-package org.apache.solr.search.function;
+package org.apache.lucene.queries.function.valuesource;
 
 import org.apache.lucene.index.IndexReader.AtomicReaderContext;
 import org.apache.lucene.queries.function.DocValues;
 import org.apache.lucene.queries.function.ValueSource;
+import org.apache.lucene.queries.function.docvalues.FloatDocValues;
 import org.apache.lucene.search.IndexSearcher;
 import org.apache.lucene.search.Similarity;
 import java.io.IOException;
