Index: solr/common-build.xml
===================================================================
--- solr/common-build.xml	(revision 1138667)
+++ solr/common-build.xml	(working copy)
@@ -199,7 +199,8 @@
     <pathelement location="${common-solr.dir}/../lucene/build/contrib/queries/classes/java" />
     <pathelement location="${common-solr.dir}/../lucene/build/contrib/spatial/classes/java" />
     <pathelement location="${common-solr.dir}/../modules/grouping/build/classes/java" />
-  </path>   
+    <pathelement location="${common-solr.dir}/../modules/common/build/classes/java" />
+  </path>
 
   <target name="prep-lucene-jars">
     <sequential>
@@ -216,6 +217,7 @@
         <fileset dir="../lucene/contrib/queries" includes="build.xml" />
         <fileset dir="../lucene/contrib/spatial" includes="build.xml" />
         <fileset dir="../modules/grouping" includes="build.xml" />
+        <fileset dir="../modules/common" includes="build.xml" />
       </subant>
     </sequential>
   </target>
@@ -253,6 +255,9 @@
       <fileset dir="../modules/grouping/build">
         <include name="lucene-grouping-${version}.jar" />
       </fileset>
+      <fileset dir="../modules/common/build">
+        <include name="lucene-queries-${version}.jar" />
+      </fileset>
       </copy>
   </target>  
   
@@ -268,6 +273,7 @@
       <fileset dir="../lucene/contrib/queries" includes="build.xml"/>
       <fileset dir="../lucene/contrib/spatial" includes="build.xml"/>
       <fileset dir="../modules/grouping" includes="build.xml"/>
+      <fileset dir="../modules/common" includes="build.xml"/>
     </subant>
   </target>
    
Index: solr/src/java/org/apache/solr/schema/BoolField.java
===================================================================
--- solr/src/java/org/apache/solr/schema/BoolField.java	(revision 1138667)
+++ solr/src/java/org/apache/solr/schema/BoolField.java	(working copy)
@@ -17,14 +17,13 @@
 
 package org.apache.solr.schema;
 
+import org.apache.lucene.common.mutable.MutableValue;
+import org.apache.lucene.common.mutable.MutableValueBool;
 import org.apache.lucene.index.IndexReader;
 import org.apache.lucene.search.FieldCache;
 import org.apache.lucene.search.SortField;
 import org.apache.lucene.util.BytesRef;
 import org.apache.lucene.util.CharsRef;
-import org.apache.solr.search.MutableValue;
-import org.apache.solr.search.MutableValueBool;
-import org.apache.solr.search.MutableValueInt;
 import org.apache.solr.search.QParser;
 import org.apache.solr.search.function.*;
 import org.apache.lucene.analysis.Analyzer;
Index: solr/src/java/org/apache/solr/schema/TrieField.java
===================================================================
--- solr/src/java/org/apache/solr/schema/TrieField.java	(revision 1138667)
+++ solr/src/java/org/apache/solr/schema/TrieField.java	(working copy)
@@ -16,6 +16,8 @@
  */
 package org.apache.solr.schema;
 
+import org.apache.lucene.common.mutable.MutableValueDate;
+import org.apache.lucene.common.mutable.MutableValueLong;
 import org.apache.lucene.document.Fieldable;
 import org.apache.lucene.document.Field;
 import org.apache.lucene.document.NumericField;
@@ -31,8 +33,6 @@
 import org.apache.solr.analysis.*;
 import org.apache.solr.common.SolrException;
 import org.apache.solr.response.TextResponseWriter;
-import org.apache.solr.search.MutableValueDate;
-import org.apache.solr.search.MutableValueLong;
 import org.apache.solr.search.QParser;
 import org.apache.solr.search.function.*;
 
Index: solr/src/java/org/apache/solr/schema/SortableDoubleField.java
===================================================================
--- solr/src/java/org/apache/solr/schema/SortableDoubleField.java	(revision 1138667)
+++ solr/src/java/org/apache/solr/schema/SortableDoubleField.java	(working copy)
@@ -17,11 +17,11 @@
 
 package org.apache.solr.schema;
 
+import org.apache.lucene.common.mutable.MutableValue;
+import org.apache.lucene.common.mutable.MutableValueDouble;
 import org.apache.lucene.search.SortField;
 import org.apache.lucene.util.BytesRef;
 import org.apache.lucene.util.CharsRef;
-import org.apache.solr.search.MutableValueDouble;
-import org.apache.solr.search.MutableValue;
 import org.apache.solr.search.QParser;
 import org.apache.solr.search.function.ValueSource;
 import org.apache.solr.search.function.FieldCacheSource;
Index: solr/src/java/org/apache/solr/schema/SortableLongField.java
===================================================================
--- solr/src/java/org/apache/solr/schema/SortableLongField.java	(revision 1138667)
+++ solr/src/java/org/apache/solr/schema/SortableLongField.java	(working copy)
@@ -17,11 +17,11 @@
 
 package org.apache.solr.schema;
 
+import org.apache.lucene.common.mutable.MutableValue;
+import org.apache.lucene.common.mutable.MutableValueLong;
 import org.apache.lucene.search.SortField;
 import org.apache.lucene.util.BytesRef;
 import org.apache.lucene.util.CharsRef;
-import org.apache.solr.search.MutableValueLong;
-import org.apache.solr.search.MutableValue;
 import org.apache.solr.search.QParser;
 import org.apache.solr.search.function.ValueSource;
 import org.apache.solr.search.function.FieldCacheSource;
Index: solr/src/java/org/apache/solr/schema/SortableFloatField.java
===================================================================
--- solr/src/java/org/apache/solr/schema/SortableFloatField.java	(revision 1138667)
+++ solr/src/java/org/apache/solr/schema/SortableFloatField.java	(working copy)
@@ -17,11 +17,11 @@
 
 package org.apache.solr.schema;
 
+import org.apache.lucene.common.mutable.MutableValue;
+import org.apache.lucene.common.mutable.MutableValueFloat;
 import org.apache.lucene.search.SortField;
 import org.apache.lucene.util.BytesRef;
 import org.apache.lucene.util.CharsRef;
-import org.apache.solr.search.MutableValueFloat;
-import org.apache.solr.search.MutableValue;
 import org.apache.solr.search.QParser;
 import org.apache.solr.search.function.ValueSource;
 import org.apache.solr.search.function.FieldCacheSource;
Index: solr/src/java/org/apache/solr/schema/SortableIntField.java
===================================================================
--- solr/src/java/org/apache/solr/schema/SortableIntField.java	(revision 1138667)
+++ solr/src/java/org/apache/solr/schema/SortableIntField.java	(working copy)
@@ -17,11 +17,11 @@
 
 package org.apache.solr.schema;
 
+import org.apache.lucene.common.mutable.MutableValue;
+import org.apache.lucene.common.mutable.MutableValueInt;
 import org.apache.lucene.search.SortField;
 import org.apache.lucene.util.BytesRef;
 import org.apache.lucene.util.CharsRef;
-import org.apache.solr.search.MutableValueInt;
-import org.apache.solr.search.MutableValue;
 import org.apache.solr.search.QParser;
 import org.apache.solr.search.function.ValueSource;
 import org.apache.solr.search.function.FieldCacheSource;
Index: solr/src/java/org/apache/solr/search/function/DoubleFieldSource.java
===================================================================
--- solr/src/java/org/apache/solr/search/function/DoubleFieldSource.java	(revision 1138667)
+++ solr/src/java/org/apache/solr/search/function/DoubleFieldSource.java	(working copy)
@@ -17,13 +17,13 @@
 
 package org.apache.solr.search.function;
 
+import org.apache.lucene.common.mutable.MutableValue;
+import org.apache.lucene.common.mutable.MutableValueDouble;
 import org.apache.lucene.index.IndexReader;
 import org.apache.lucene.index.IndexReader.AtomicReaderContext;
 import org.apache.lucene.util.Bits;
 import org.apache.lucene.search.cache.DoubleValuesCreator;
 import org.apache.lucene.search.cache.CachedArray.DoubleValues;
-import org.apache.solr.search.MutableValue;
-import org.apache.solr.search.MutableValueDouble;
 
 import java.io.IOException;
 import java.util.Map;
Index: solr/src/java/org/apache/solr/search/function/IntDocValues.java
===================================================================
--- solr/src/java/org/apache/solr/search/function/IntDocValues.java	(revision 1138667)
+++ solr/src/java/org/apache/solr/search/function/IntDocValues.java	(working copy)
@@ -1,8 +1,9 @@
 package org.apache.solr.search.function;
 
-import org.apache.solr.search.MutableValue;
-import org.apache.solr.search.MutableValueInt;
+import org.apache.lucene.common.mutable.MutableValue;
+import org.apache.lucene.common.mutable.MutableValueInt;
 
+
 public abstract class IntDocValues extends DocValues {
   protected final ValueSource vs;
 
Index: solr/src/java/org/apache/solr/search/function/BoolDocValues.java
===================================================================
--- solr/src/java/org/apache/solr/search/function/BoolDocValues.java	(revision 1138667)
+++ solr/src/java/org/apache/solr/search/function/BoolDocValues.java	(working copy)
@@ -1,9 +1,9 @@
 package org.apache.solr.search.function;
 
-import org.apache.solr.search.MutableValue;
-import org.apache.solr.search.MutableValueBool;
-import org.apache.solr.search.MutableValueInt;
+import org.apache.lucene.common.mutable.MutableValue;
+import org.apache.lucene.common.mutable.MutableValueBool;
 
+
 public abstract class BoolDocValues extends DocValues {
   protected final ValueSource vs;
 
Index: solr/src/java/org/apache/solr/search/function/StrDocValues.java
===================================================================
--- solr/src/java/org/apache/solr/search/function/StrDocValues.java	(revision 1138667)
+++ solr/src/java/org/apache/solr/search/function/StrDocValues.java	(working copy)
@@ -1,9 +1,8 @@
 package org.apache.solr.search.function;
 
+import org.apache.lucene.common.mutable.MutableValue;
+import org.apache.lucene.common.mutable.MutableValueStr;
 import org.apache.lucene.util.BytesRef;
-import org.apache.solr.search.MutableValue;
-import org.apache.solr.search.MutableValueFloat;
-import org.apache.solr.search.MutableValueStr;
 
 public abstract class StrDocValues extends DocValues {
   protected final ValueSource vs;
Index: solr/src/java/org/apache/solr/search/function/DoubleDocValues.java
===================================================================
--- solr/src/java/org/apache/solr/search/function/DoubleDocValues.java	(revision 1138667)
+++ solr/src/java/org/apache/solr/search/function/DoubleDocValues.java	(working copy)
@@ -1,7 +1,7 @@
 package org.apache.solr.search.function;
 
-import org.apache.solr.search.MutableValue;
-import org.apache.solr.search.MutableValueDouble;
+import org.apache.lucene.common.mutable.MutableValue;
+import org.apache.lucene.common.mutable.MutableValueDouble;
 
 public abstract class DoubleDocValues extends DocValues {
   protected final ValueSource vs;
Index: solr/src/java/org/apache/solr/search/function/QueryValueSource.java
===================================================================
--- solr/src/java/org/apache/solr/search/function/QueryValueSource.java	(revision 1138667)
+++ solr/src/java/org/apache/solr/search/function/QueryValueSource.java	(working copy)
@@ -17,14 +17,14 @@
 
 package org.apache.solr.search.function;
 
+import org.apache.lucene.common.mutable.MutableValue;
+import org.apache.lucene.common.mutable.MutableValueFloat;
 import org.apache.lucene.index.IndexReader;
 import org.apache.lucene.index.IndexReader.AtomicReaderContext;
 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 org.apache.solr.search.MutableValue;
-import org.apache.solr.search.MutableValueFloat;
 
 import java.io.IOException;
 import java.util.Map;
Index: solr/src/java/org/apache/solr/search/function/LongFieldSource.java
===================================================================
--- solr/src/java/org/apache/solr/search/function/LongFieldSource.java	(revision 1138667)
+++ solr/src/java/org/apache/solr/search/function/LongFieldSource.java	(working copy)
@@ -17,13 +17,13 @@
 
 package org.apache.solr.search.function;
 
+import org.apache.lucene.common.mutable.MutableValue;
+import org.apache.lucene.common.mutable.MutableValueLong;
 import org.apache.lucene.index.IndexReader;
 import org.apache.lucene.index.IndexReader.AtomicReaderContext;
 import org.apache.lucene.util.Bits;
 import org.apache.lucene.search.cache.LongValuesCreator;
 import org.apache.lucene.search.cache.CachedArray.LongValues;
-import org.apache.solr.search.MutableValue;
-import org.apache.solr.search.MutableValueLong;
 
 
 import java.io.IOException;
Index: solr/src/java/org/apache/solr/search/function/DocValues.java
===================================================================
--- solr/src/java/org/apache/solr/search/function/DocValues.java	(revision 1138667)
+++ solr/src/java/org/apache/solr/search/function/DocValues.java	(working copy)
@@ -17,11 +17,11 @@
 
 package org.apache.solr.search.function;
 
+import org.apache.lucene.common.mutable.MutableValue;
+import org.apache.lucene.common.mutable.MutableValueFloat;
 import org.apache.lucene.search.*;
 import org.apache.lucene.index.IndexReader;
 import org.apache.lucene.util.BytesRef;
-import org.apache.solr.search.MutableValue;
-import org.apache.solr.search.MutableValueFloat;
 
 /**
  * Represents field values as different types.
Index: solr/src/java/org/apache/solr/search/function/FloatFieldSource.java
===================================================================
--- solr/src/java/org/apache/solr/search/function/FloatFieldSource.java	(revision 1138667)
+++ solr/src/java/org/apache/solr/search/function/FloatFieldSource.java	(working copy)
@@ -20,12 +20,12 @@
 import java.io.IOException;
 import java.util.Map;
 
+import org.apache.lucene.common.mutable.MutableValue;
+import org.apache.lucene.common.mutable.MutableValueFloat;
 import org.apache.lucene.index.IndexReader.AtomicReaderContext;
 import org.apache.lucene.util.Bits;
 import org.apache.lucene.search.cache.FloatValuesCreator;
 import org.apache.lucene.search.cache.CachedArray.FloatValues;
-import org.apache.solr.search.MutableValue;
-import org.apache.solr.search.MutableValueFloat;
 
 /**
  * Obtains float field values from the {@link org.apache.lucene.search.FieldCache}
Index: solr/src/java/org/apache/solr/search/function/StringIndexDocValues.java
===================================================================
--- solr/src/java/org/apache/solr/search/function/StringIndexDocValues.java	(revision 1138667)
+++ solr/src/java/org/apache/solr/search/function/StringIndexDocValues.java	(working copy)
@@ -17,13 +17,13 @@
 
 package org.apache.solr.search.function;
 
+import org.apache.lucene.common.mutable.MutableValue;
+import org.apache.lucene.common.mutable.MutableValueStr;
 import org.apache.lucene.search.FieldCache;
 import org.apache.lucene.index.IndexReader;
 import org.apache.lucene.index.IndexReader.AtomicReaderContext;
 import org.apache.lucene.util.BytesRef;
 import org.apache.lucene.util.CharsRef;
-import org.apache.solr.search.MutableValue;
-import org.apache.solr.search.MutableValueStr;
 
 import java.io.IOException;
 
Index: solr/src/java/org/apache/solr/search/function/LongDocValues.java
===================================================================
--- solr/src/java/org/apache/solr/search/function/LongDocValues.java	(revision 1138667)
+++ solr/src/java/org/apache/solr/search/function/LongDocValues.java	(working copy)
@@ -1,8 +1,9 @@
 package org.apache.solr.search.function;
 
-import org.apache.solr.search.MutableValue;
-import org.apache.solr.search.MutableValueLong;
+import org.apache.lucene.common.mutable.MutableValue;
+import org.apache.lucene.common.mutable.MutableValueLong;
 
+
 public abstract class LongDocValues extends DocValues {
   protected final ValueSource vs;
 
Index: solr/src/java/org/apache/solr/search/function/OrdFieldSource.java
===================================================================
--- solr/src/java/org/apache/solr/search/function/OrdFieldSource.java	(revision 1138667)
+++ solr/src/java/org/apache/solr/search/function/OrdFieldSource.java	(working copy)
@@ -17,12 +17,12 @@
 
 package org.apache.solr.search.function;
 
+import org.apache.lucene.common.mutable.MutableValue;
+import org.apache.lucene.common.mutable.MutableValueInt;
 import org.apache.lucene.index.IndexReader;
 import org.apache.lucene.index.IndexReader.AtomicReaderContext;
 import org.apache.lucene.search.FieldCache;
 import org.apache.lucene.util.ReaderUtil;
-import org.apache.solr.search.MutableValue;
-import org.apache.solr.search.MutableValueInt;
 
 import java.io.IOException;
 import java.util.Map;
Index: solr/src/java/org/apache/solr/search/function/FloatDocValues.java
===================================================================
--- solr/src/java/org/apache/solr/search/function/FloatDocValues.java	(revision 1138667)
+++ solr/src/java/org/apache/solr/search/function/FloatDocValues.java	(working copy)
@@ -1,7 +1,7 @@
 package org.apache.solr.search.function;
 
-import org.apache.solr.search.MutableValue;
-import org.apache.solr.search.MutableValueFloat;
+import org.apache.lucene.common.mutable.MutableValue;
+import org.apache.lucene.common.mutable.MutableValueFloat;
 
 public abstract class FloatDocValues extends DocValues {
   protected final ValueSource vs;
Index: solr/src/java/org/apache/solr/search/function/IntFieldSource.java
===================================================================
--- solr/src/java/org/apache/solr/search/function/IntFieldSource.java	(revision 1138667)
+++ solr/src/java/org/apache/solr/search/function/IntFieldSource.java	(working copy)
@@ -17,11 +17,11 @@
 
 package org.apache.solr.search.function;
 
+import org.apache.lucene.common.mutable.MutableValue;
+import org.apache.lucene.common.mutable.MutableValueInt;
 import org.apache.lucene.index.IndexReader;
 import org.apache.lucene.index.IndexReader.AtomicReaderContext;
 import org.apache.lucene.util.Bits;
-import org.apache.solr.search.MutableValueInt;
-import org.apache.solr.search.MutableValue;
 import org.apache.lucene.search.cache.IntValuesCreator;
 import org.apache.lucene.search.cache.CachedArray.IntValues;
 
Index: solr/src/java/org/apache/solr/search/MutableValueLong.java (deleted)
===================================================================
Index: solr/src/java/org/apache/solr/search/MutableValueDouble.java (deleted)
===================================================================
Index: solr/src/java/org/apache/solr/search/MutableValueInt.java (deleted)
===================================================================
Index: solr/src/java/org/apache/solr/search/MutableValueBool.java (deleted)
===================================================================
Index: solr/src/java/org/apache/solr/search/MutableValueFloat.java (deleted)
===================================================================
Index: solr/src/java/org/apache/solr/search/MutableValueStr.java (deleted)
===================================================================
Index: solr/src/java/org/apache/solr/search/MutableValueDate.java (deleted)
===================================================================
Index: solr/src/java/org/apache/solr/search/MutableValue.java (deleted)
===================================================================
Index: solr/src/java/org/apache/solr/search/Grouping.java
===================================================================
--- solr/src/java/org/apache/solr/search/Grouping.java	(revision 1138667)
+++ solr/src/java/org/apache/solr/search/Grouping.java	(working copy)
@@ -18,6 +18,7 @@
 package org.apache.solr.search;
 
 import org.apache.commons.lang.ArrayUtils;
+import org.apache.lucene.common.mutable.MutableValue;
 import org.apache.lucene.document.Fieldable;
 import org.apache.lucene.index.IndexReader.AtomicReaderContext;
 import org.apache.lucene.queryParser.ParseException;
Index: modules/common/src/java/org/apache/lucene/common/mutable/MutableValueStr.java
===================================================================
--- modules/common/src/java/org/apache/lucene/common/mutable/MutableValueStr.java	(revision 0)
+++ modules/common/src/java/org/apache/lucene/common/mutable/MutableValueStr.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;
+package org.apache.lucene.common.mutable;
 
 import org.apache.lucene.util.BytesRef;
 
Index: modules/common/src/java/org/apache/lucene/common/mutable/MutableValueDouble.java
===================================================================
--- modules/common/src/java/org/apache/lucene/common/mutable/MutableValueDouble.java	(revision 0)
+++ modules/common/src/java/org/apache/lucene/common/mutable/MutableValueDouble.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;
+package org.apache.lucene.common.mutable;
 
 public class MutableValueDouble extends MutableValue {
   public double value;
Index: modules/common/src/java/org/apache/lucene/common/mutable/MutableValueInt.java
===================================================================
--- modules/common/src/java/org/apache/lucene/common/mutable/MutableValueInt.java	(revision 0)
+++ modules/common/src/java/org/apache/lucene/common/mutable/MutableValueInt.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;
+package org.apache.lucene.common.mutable;
 
 public class MutableValueInt extends MutableValue {
   public int value;
Index: modules/common/src/java/org/apache/lucene/common/mutable/MutableValueBool.java
===================================================================
--- modules/common/src/java/org/apache/lucene/common/mutable/MutableValueBool.java	(revision 0)
+++ modules/common/src/java/org/apache/lucene/common/mutable/MutableValueBool.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;
+package org.apache.lucene.common.mutable;
 
 public class MutableValueBool extends MutableValue {
   public boolean value;
Index: modules/common/src/java/org/apache/lucene/common/mutable/MutableValueDate.java
===================================================================
--- modules/common/src/java/org/apache/lucene/common/mutable/MutableValueDate.java	(revision 0)
+++ modules/common/src/java/org/apache/lucene/common/mutable/MutableValueDate.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;
+package org.apache.lucene.common.mutable;
 
 import java.util.Date;
 
Index: modules/common/src/java/org/apache/lucene/common/mutable/MutableValue.java
===================================================================
--- modules/common/src/java/org/apache/lucene/common/mutable/MutableValue.java	(revision 0)
+++ modules/common/src/java/org/apache/lucene/common/mutable/MutableValue.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;
+package org.apache.lucene.common.mutable;
 
 /** @lucene.internal */
 public abstract class MutableValue implements Comparable {
Index: modules/common/src/java/org/apache/lucene/common/mutable/MutableValueLong.java
===================================================================
--- modules/common/src/java/org/apache/lucene/common/mutable/MutableValueLong.java	(revision 0)
+++ modules/common/src/java/org/apache/lucene/common/mutable/MutableValueLong.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;
+package org.apache.lucene.common.mutable;
 
 public class MutableValueLong extends MutableValue {
   public long value;
Index: modules/common/src/java/org/apache/lucene/common/mutable/MutableValueFloat.java
===================================================================
--- modules/common/src/java/org/apache/lucene/common/mutable/MutableValueFloat.java	(revision 0)
+++ modules/common/src/java/org/apache/lucene/common/mutable/MutableValueFloat.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;
+package org.apache.lucene.common.mutable;
 
 public class MutableValueFloat extends MutableValue {
   public float value;
Index: modules/build.xml
===================================================================
--- modules/build.xml	(revision 1138667)
+++ modules/build.xml	(working copy)
@@ -23,6 +23,7 @@
       <subant target="test" inheritall="false" failonerror="true">
         <fileset dir="analysis" includes="build.xml" />
         <fileset dir="benchmark" includes="build.xml" />
+        <fileset dir="common" includes="build.xml" />
         <fileset dir="grouping" includes="build.xml" />
         <fileset dir="suggest" includes="build.xml" />
       </subant>
@@ -34,6 +35,7 @@
       <subant target="compile" inheritall="false" failonerror="true">
         <fileset dir="analysis" includes="build.xml" />
         <fileset dir="benchmark" includes="build.xml" />
+        <fileset dir="common" includes="build.xml" />
         <fileset dir="grouping" includes="build.xml" />
         <fileset dir="suggest" includes="build.xml" />
       </subant>
@@ -45,6 +47,7 @@
       <subant target="compile-test" inheritall="false" failonerror="true">
         <fileset dir="analysis" includes="build.xml" />
         <fileset dir="benchmark" includes="build.xml" />
+        <fileset dir="common" includes="build.xml" />
         <fileset dir="grouping" includes="build.xml" />
         <fileset dir="suggest" includes="build.xml" />
       </subant>
@@ -56,6 +59,7 @@
       <subant target="javadocs" inheritall="false" failonerror="true">
         <fileset dir="analysis" includes="build.xml" />
         <fileset dir="benchmark" includes="build.xml" />
+        <fileset dir="common" includes="build.xml" />
         <fileset dir="grouping" includes="build.xml" />
         <fileset dir="suggest" includes="build.xml" />
       </subant>
@@ -68,6 +72,7 @@
       <subant target="dist-maven" inheritall="false" failonerror="true">
         <fileset dir="analysis" includes="build.xml" />
         <fileset dir="benchmark" includes="build.xml" />
+        <fileset dir="common" includes="build.xml" />
         <fileset dir="grouping" includes="build.xml" />
         <fileset dir="suggest" includes="build.xml" />
       </subant>
@@ -78,6 +83,7 @@
       <subant target="validate" inheritall="false" failonerror="true">
         <fileset dir="analysis" includes="build.xml" />
         <fileset dir="benchmark" includes="build.xml" />
+        <fileset dir="common" includes="build.xml" />
         <fileset dir="grouping" includes="build.xml" />
         <fileset dir="suggest" includes="build.xml" />
       </subant>
@@ -90,6 +96,7 @@
       <subant target="clean" inheritall="false" failonerror="true">
         <fileset dir="analysis" includes="build.xml" />
         <fileset dir="benchmark" includes="build.xml" />
+        <fileset dir="common" includes="build.xml" />
         <fileset dir="grouping" includes="build.xml" />
         <fileset dir="suggest" includes="build.xml" />
       </subant>
Index: dev-tools/idea/solr/solr.iml
===================================================================
--- dev-tools/idea/solr/solr.iml	(revision 1138667)
+++ dev-tools/idea/solr/solr.iml	(working copy)
@@ -31,6 +31,7 @@
     <orderEntry type="module" module-name="phonetic" />
     <orderEntry type="module" module-name="suggest" />
     <orderEntry type="module" module-name="common" />
+    <orderEntry type="module" module-name="analysis-common" />
     <orderEntry type="module" module-name="lucene" />
   </component>
 </module>
Index: dev-tools/idea/.idea/modules.xml
===================================================================
--- dev-tools/idea/.idea/modules.xml	(revision 1138667)
+++ dev-tools/idea/.idea/modules.xml	(working copy)
@@ -14,12 +14,13 @@
       <module filepath="$PROJECT_DIR$/lucene/contrib/spatial/spatial.iml" />
       <module filepath="$PROJECT_DIR$/lucene/contrib/wordnet/wordnet.iml" />
       <module filepath="$PROJECT_DIR$/lucene/contrib/xml-query-parser/xml-query-parser.iml" />
-      <module filepath="$PROJECT_DIR$/modules/analysis/common/common.iml" />
+      <module filepath="$PROJECT_DIR$/modules/analysis/common/analysis-common.iml" />
       <module filepath="$PROJECT_DIR$/modules/analysis/icu/icu.iml" />
       <module filepath="$PROJECT_DIR$/modules/analysis/phonetic/phonetic.iml" />
       <module filepath="$PROJECT_DIR$/modules/analysis/smartcn/smartcn.iml" />
       <module filepath="$PROJECT_DIR$/modules/analysis/stempel/stempel.iml" />
       <module filepath="$PROJECT_DIR$/modules/benchmark/benchmark.iml" />
+      <module filepath="$PROJECT_DIR$/modules/common/common.iml" />
       <module filepath="$PROJECT_DIR$/modules/grouping/grouping.iml" />
       <module filepath="$PROJECT_DIR$/modules/suggest/suggest.iml" />
       <module filepath="$PROJECT_DIR$/solr/solr.iml" />
Index: dev-tools/idea/.idea/workspace.xml
===================================================================
--- dev-tools/idea/.idea/workspace.xml	(revision 1138667)
+++ dev-tools/idea/.idea/workspace.xml	(working copy)
@@ -22,9 +22,16 @@
       <option name="VM_PARAMETERS" value="-ea -Dtests.luceneMatchVersion=4.0 -DtempDir=temp -Djetty.testMode=1 -Djetty.insecurerandom=1 -Dsolr.directoryFactory=org.apache.solr.core.MockDirectoryFactory" />
       <option name="TEST_SEARCH_SCOPE"><value defaultName="singleModule" /></option>
     </configuration>
-    <configuration default="false" name="common analysis module" type="JUnit" factoryName="JUnit">
+    <configuration default="false" name="common module" type="JUnit" factoryName="JUnit">
       <module name="common" />
       <option name="TEST_OBJECT" value="package" />
+      <option name="WORKING_DIRECTORY" value="file://$PROJECT_DIR$/modules/common/build" />
+      <option name="VM_PARAMETERS" value="-ea  -DtempDir=temp" />
+      <option name="TEST_SEARCH_SCOPE"><value defaultName="singleModule" /></option>
+    </configuration>
+    <configuration default="false" name="common analysis module" type="JUnit" factoryName="JUnit">
+      <module name="analysis-common" />
+      <option name="TEST_OBJECT" value="package" />
       <option name="WORKING_DIRECTORY" value="file://$PROJECT_DIR$/modules/analysis/build/common" />
       <option name="VM_PARAMETERS" value="-ea  -DtempDir=temp" />
       <option name="TEST_SEARCH_SCOPE"><value defaultName="singleModule" /></option>
@@ -113,6 +120,13 @@
       <option name="VM_PARAMETERS" value="-ea -DtempDir=temp" />
       <option name="TEST_SEARCH_SCOPE"><value defaultName="singleModule" /></option>
     </configuration>
+    <configuration default="false" name="queries module" type="JUnit" factoryName="JUnit">
+      <module name="queries-module" />
+      <option name="TEST_OBJECT" value="package" />
+      <option name="WORKING_DIRECTORY" value="file://$PROJECT_DIR$/modules/queries/build" />
+      <option name="VM_PARAMETERS" value="-ea -DtempDir=temp" />
+      <option name="TEST_SEARCH_SCOPE"><value defaultName="singleModule" /></option>
+    </configuration>
     <configuration default="false" name="queryparser contrib" type="JUnit" factoryName="JUnit">
       <module name="queryparser" />
       <option name="TEST_OBJECT" value="package" />
@@ -176,32 +190,33 @@
       <option name="VM_PARAMETERS" value="-ea -DtempDir=temp" />
       <option name="TEST_SEARCH_SCOPE"><value defaultName="singleModule" /></option>
     </configuration>
-    <list size="25">
+    <list size="26">
       <item index="0" class="java.lang.String" itemvalue="JUnit.analysis-extras contrib" />
       <item index="1" class="java.lang.String" itemvalue="JUnit.benchmark module" />
       <item index="2" class="java.lang.String" itemvalue="JUnit.clustering contrib" />
-      <item index="3" class="java.lang.String" itemvalue="JUnit.common analysis module" />
-      <item index="4" class="java.lang.String" itemvalue="JUnit.dataimporthandler contrib" />
-      <item index="5" class="java.lang.String" itemvalue="JUnit.extraction contrib" />
-      <item index="6" class="java.lang.String" itemvalue="JUnit.extras from dataimporthandler contrib" />
-      <item index="7" class="java.lang.String" itemvalue="JUnit.grouping module" />
-      <item index="8" class="java.lang.String" itemvalue="JUnit.highlighter contrib" />
-      <item index="9" class="java.lang.String" itemvalue="JUnit.icu analysis module" />
-      <item index="10" class="java.lang.String" itemvalue="JUnit.instantiated contrib" />
-      <item index="11" class="java.lang.String" itemvalue="JUnit.lucene" />
-      <item index="12" class="java.lang.String" itemvalue="JUnit.memory contrib" />
-      <item index="13" class="java.lang.String" itemvalue="JUnit.misc contrib" />
-      <item index="14" class="java.lang.String" itemvalue="JUnit.phonetic analysis module" />
-      <item index="15" class="java.lang.String" itemvalue="JUnit.queries contrib" />
-      <item index="16" class="java.lang.String" itemvalue="JUnit.queryparser contrib" />
-      <item index="17" class="java.lang.String" itemvalue="JUnit.smartcn analysis module" />
-      <item index="18" class="java.lang.String" itemvalue="JUnit.solr" />
-      <item index="19" class="java.lang.String" itemvalue="JUnit.spatial contrib" />
-      <item index="20" class="java.lang.String" itemvalue="JUnit.stempel analysis module" />
-      <item index="21" class="java.lang.String" itemvalue="JUnit.suggest module" />
-      <item index="22" class="java.lang.String" itemvalue="JUnit.uima contrib" />
-      <item index="23" class="java.lang.String" itemvalue="JUnit.wordnet contrib" />
-      <item index="24" class="java.lang.String" itemvalue="JUnit.xml-query-parser contrib" />
+      <item index="3" class="java.lang.String" itemvalue="JUnit.common module" />
+      <item index="4" class="java.lang.String" itemvalue="JUnit.common analysis module" />
+      <item index="5" class="java.lang.String" itemvalue="JUnit.dataimporthandler contrib" />
+      <item index="6" class="java.lang.String" itemvalue="JUnit.extraction contrib" />
+      <item index="7" class="java.lang.String" itemvalue="JUnit.extras from dataimporthandler contrib" />
+      <item index="8" class="java.lang.String" itemvalue="JUnit.grouping module" />
+      <item index="9" class="java.lang.String" itemvalue="JUnit.highlighter contrib" />
+      <item index="10" class="java.lang.String" itemvalue="JUnit.icu analysis module" />
+      <item index="11" class="java.lang.String" itemvalue="JUnit.instantiated contrib" />
+      <item index="12" class="java.lang.String" itemvalue="JUnit.lucene" />
+      <item index="13" class="java.lang.String" itemvalue="JUnit.memory contrib" />
+      <item index="14" class="java.lang.String" itemvalue="JUnit.misc contrib" />
+      <item index="15" class="java.lang.String" itemvalue="JUnit.phonetic analysis module" />
+      <item index="16" class="java.lang.String" itemvalue="JUnit.queries contrib" />
+      <item index="17" class="java.lang.String" itemvalue="JUnit.queryparser contrib" />
+      <item index="18" class="java.lang.String" itemvalue="JUnit.smartcn analysis module" />
+      <item index="19" class="java.lang.String" itemvalue="JUnit.solr" />
+      <item index="20" class="java.lang.String" itemvalue="JUnit.spatial contrib" />
+      <item index="21" class="java.lang.String" itemvalue="JUnit.stempel analysis module" />
+      <item index="22" class="java.lang.String" itemvalue="JUnit.suggest module" />
+      <item index="23" class="java.lang.String" itemvalue="JUnit.uima contrib" />
+      <item index="24" class="java.lang.String" itemvalue="JUnit.wordnet contrib" />
+      <item index="25" class="java.lang.String" itemvalue="JUnit.xml-query-parser contrib" />
     </list>
   </component>
 </project>
Index: dev-tools/idea/modules/analysis/common/common.iml (deleted)
===================================================================
Index: dev-tools/eclipse/dot.classpath
===================================================================
--- dev-tools/eclipse/dot.classpath	(revision 1138667)
+++ dev-tools/eclipse/dot.classpath	(working copy)
@@ -40,6 +40,8 @@
 	<classpathentry kind="src" path="modules/analysis/stempel/src/test"/>
 	<classpathentry kind="src" path="modules/benchmark/src/java"/>
 	<classpathentry kind="src" path="modules/benchmark/src/test"/>
+	<classpathentry kind="src" path="modules/common/src/java"/>
+	<classpathentry kind="src" path="modules/common/src/test"/>
 	<classpathentry kind="src" path="modules/grouping/src/java"/>
 	<classpathentry kind="src" path="modules/grouping/src/test"/>
 	<classpathentry kind="src" path="modules/suggest/src/java"/>
Index: dev-tools/maven/modules/pom.xml.template
===================================================================
--- dev-tools/maven/modules/pom.xml.template	(revision 1138667)
+++ dev-tools/maven/modules/pom.xml.template	(working copy)
@@ -33,6 +33,7 @@
   <modules>
     <module>analysis</module>
     <module>benchmark</module>
+    <module>common</module>
     <module>grouping</module>
     <module>suggest</module>
   </modules>
