Index: solr/common-build.xml
===================================================================
--- solr/common-build.xml	(revision 1144582)
+++ solr/common-build.xml	(working copy)
@@ -201,6 +201,7 @@
     <pathelement location="${common-solr.dir}/../lucene/build/contrib/spatial/classes/java" />
     <pathelement location="${common-solr.dir}/../modules/grouping/build/classes/java" />
     <pathelement location="${common-solr.dir}/../modules/queries/build/classes/java" />
+    <pathelement location="${common-solr.dir}/../modules/queryparser/build/classes/java" />
   </path>
 
   <target name="prep-lucene-jars">
@@ -219,6 +220,7 @@
         <fileset dir="../lucene/contrib/spatial" includes="build.xml" />
         <fileset dir="../modules/grouping" includes="build.xml" />
         <fileset dir="../modules/queries" includes="build.xml" />
+        <fileset dir="../modules/queryparser" includes="build.xml" />
       </subant>
     </sequential>
   </target>
@@ -259,6 +261,9 @@
       <fileset dir="../modules/queries/build">
         <include name="lucene-queries-${version}.jar" />
       </fileset>
+      <fileset dir="../modules/queryparser/build">
+        <include name="lucene-queryparser-${version}.jar" />
+      </fileset>
       </copy>
   </target>  
   
@@ -275,6 +280,7 @@
       <fileset dir="../lucene/contrib/spatial" includes="build.xml"/>
       <fileset dir="../modules/grouping" includes="build.xml"/>
       <fileset dir="../modules/queries" includes="build.xml"/>
+      <fileset dir="../modules/queryparser" includes="build.xml"/>
     </subant>
   </target>
    
Index: solr/src/test/org/apache/solr/core/TestArbitraryIndexDir.java
===================================================================
--- solr/src/test/org/apache/solr/core/TestArbitraryIndexDir.java	(revision 1144582)
+++ solr/src/test/org/apache/solr/core/TestArbitraryIndexDir.java	(working copy)
@@ -28,7 +28,6 @@
 import org.apache.lucene.document.Field;
 import org.apache.lucene.index.IndexWriter;
 import org.apache.lucene.index.IndexWriterConfig;
-import org.apache.lucene.queryParser.ParseException;
 import org.apache.lucene.store.Directory;
 import org.apache.lucene.util.Version;
 import org.apache.solr.common.SolrException;
@@ -77,7 +76,7 @@
   }
 
   @Test
-  public void testLoadNewIndexDir() throws IOException, ParserConfigurationException, SAXException, ParseException{
+  public void testLoadNewIndexDir() throws IOException, ParserConfigurationException, SAXException {
     //add a doc in original index dir
     assertU(adoc("id", String.valueOf(1),
         "name", "name"+String.valueOf(1)));
Index: solr/src/test/org/apache/solr/core/DummyValueSourceParser.java
===================================================================
--- solr/src/test/org/apache/solr/core/DummyValueSourceParser.java	(revision 1144582)
+++ solr/src/test/org/apache/solr/core/DummyValueSourceParser.java	(working copy)
@@ -19,7 +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.lucene.queryparser.classic.ParseException;
 import org.apache.solr.common.util.NamedList;
 import org.apache.solr.search.FunctionQParser;
 import org.apache.solr.search.ValueSourceParser;
Index: solr/src/test/org/apache/solr/search/FooQParserPlugin.java
===================================================================
--- solr/src/test/org/apache/solr/search/FooQParserPlugin.java	(revision 1144582)
+++ solr/src/test/org/apache/solr/search/FooQParserPlugin.java	(working copy)
@@ -17,12 +17,12 @@
 
 package org.apache.solr.search;
 
+import org.apache.lucene.queryparser.classic.ParseException;
 import org.apache.solr.common.params.SolrParams;
 import org.apache.solr.common.util.NamedList;
 import org.apache.solr.request.SolrQueryRequest;
 import org.apache.lucene.search.Query;
 import org.apache.lucene.search.TermQuery;
-import org.apache.lucene.queryParser.ParseException;
 import org.apache.lucene.index.Term;
 
 
Index: solr/src/test/org/apache/solr/search/function/NvlValueSourceParser.java
===================================================================
--- solr/src/test/org/apache/solr/search/function/NvlValueSourceParser.java	(revision 1144582)
+++ solr/src/test/org/apache/solr/search/function/NvlValueSourceParser.java	(working copy)
@@ -20,7 +20,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.lucene.queryparser.classic.ParseException;
 import org.apache.solr.common.util.NamedList;
 import org.apache.solr.search.FunctionQParser;
 import org.apache.solr.search.ValueSourceParser;
Index: solr/src/java/org/apache/solr/schema/IndexSchema.java
===================================================================
--- solr/src/java/org/apache/solr/schema/IndexSchema.java	(revision 1144582)
+++ solr/src/java/org/apache/solr/schema/IndexSchema.java	(working copy)
@@ -24,7 +24,6 @@
 import org.apache.lucene.search.IndexSearcher;
 import org.apache.lucene.search.Similarity;
 import org.apache.lucene.search.SimilarityProvider;
-import org.apache.lucene.queryParser.QueryParser;
 import org.apache.lucene.util.Version;
 import org.apache.solr.common.ResourceLoader;
 import org.apache.solr.common.SolrException;
Index: solr/src/java/org/apache/solr/update/DirectUpdateHandler2.java
===================================================================
--- solr/src/java/org/apache/solr/update/DirectUpdateHandler2.java	(revision 1144582)
+++ solr/src/java/org/apache/solr/update/DirectUpdateHandler2.java	(working copy)
@@ -23,7 +23,7 @@
 import org.apache.lucene.index.IndexReader;
 import org.apache.lucene.index.IndexWriter;
 import org.apache.lucene.index.Term;
-import org.apache.lucene.queryParser.ParseException;
+import org.apache.lucene.queryparser.classic.ParseException;
 import org.apache.lucene.search.BooleanClause;
 import org.apache.lucene.search.BooleanQuery;
 import org.apache.lucene.search.Query;
Index: solr/src/java/org/apache/solr/search/FieldQParserPlugin.java
===================================================================
--- solr/src/java/org/apache/solr/search/FieldQParserPlugin.java	(revision 1144582)
+++ solr/src/java/org/apache/solr/search/FieldQParserPlugin.java	(working copy)
@@ -16,7 +16,7 @@
  */
 package org.apache.solr.search;
 
-import org.apache.lucene.queryParser.ParseException;
+import org.apache.lucene.queryparser.classic.ParseException;
 import org.apache.lucene.search.*;
 import org.apache.solr.common.params.SolrParams;
 import org.apache.solr.common.util.NamedList;
Index: solr/src/java/org/apache/solr/search/BoostQParserPlugin.java
===================================================================
--- solr/src/java/org/apache/solr/search/BoostQParserPlugin.java	(revision 1144582)
+++ solr/src/java/org/apache/solr/search/BoostQParserPlugin.java	(working copy)
@@ -20,7 +20,7 @@
 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.queryparser.classic.ParseException;
 import org.apache.lucene.search.Query;
 import org.apache.solr.common.params.SolrParams;
 import org.apache.solr.common.util.NamedList;
Index: solr/src/java/org/apache/solr/search/function/distance/HaversineConstFunction.java
===================================================================
--- solr/src/java/org/apache/solr/search/function/distance/HaversineConstFunction.java	(revision 1144582)
+++ solr/src/java/org/apache/solr/search/function/distance/HaversineConstFunction.java	(working copy)
@@ -24,7 +24,7 @@
 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.queryparser.classic.ParseException;
 import org.apache.lucene.search.IndexSearcher;
 import org.apache.lucene.spatial.DistanceUtils;
 import org.apache.lucene.spatial.tier.InvalidGeoException;
Index: solr/src/java/org/apache/solr/search/RawQParserPlugin.java
===================================================================
--- solr/src/java/org/apache/solr/search/RawQParserPlugin.java	(revision 1144582)
+++ solr/src/java/org/apache/solr/search/RawQParserPlugin.java	(working copy)
@@ -17,7 +17,7 @@
 package org.apache.solr.search;
 
 import org.apache.lucene.index.Term;
-import org.apache.lucene.queryParser.ParseException;
+import org.apache.lucene.queryparser.classic.ParseException;
 import org.apache.lucene.search.Query;
 import org.apache.lucene.search.TermQuery;
 import org.apache.solr.common.params.SolrParams;
Index: solr/src/java/org/apache/solr/search/ValueSourceParser.java
===================================================================
--- solr/src/java/org/apache/solr/search/ValueSourceParser.java	(revision 1144582)
+++ solr/src/java/org/apache/solr/search/ValueSourceParser.java	(working copy)
@@ -25,7 +25,7 @@
 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.queryparser.classic.ParseException;
 import org.apache.lucene.search.Query;
 import org.apache.lucene.search.IndexSearcher;
 import org.apache.lucene.search.TermQuery;
Index: solr/src/java/org/apache/solr/search/FunctionRangeQParserPlugin.java
===================================================================
--- solr/src/java/org/apache/solr/search/FunctionRangeQParserPlugin.java	(revision 1144582)
+++ solr/src/java/org/apache/solr/search/FunctionRangeQParserPlugin.java	(working copy)
@@ -22,7 +22,7 @@
 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.queryparser.classic.ParseException;
 import org.apache.lucene.search.*;
 import org.apache.solr.common.params.SolrParams;
 import org.apache.solr.common.util.NamedList;
Index: solr/src/java/org/apache/solr/search/FunctionQParser.java
===================================================================
--- solr/src/java/org/apache/solr/search/FunctionQParser.java	(revision 1144582)
+++ solr/src/java/org/apache/solr/search/FunctionQParser.java	(working copy)
@@ -19,7 +19,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.queryparser.classic.ParseException;
 import org.apache.lucene.search.Query;
 import org.apache.solr.common.params.SolrParams;
 import org.apache.solr.request.SolrQueryRequest;
Index: solr/src/java/org/apache/solr/search/ExtendedDismaxQParserPlugin.java
===================================================================
--- solr/src/java/org/apache/solr/search/ExtendedDismaxQParserPlugin.java	(revision 1144582)
+++ solr/src/java/org/apache/solr/search/ExtendedDismaxQParserPlugin.java	(working copy)
@@ -27,8 +27,8 @@
 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.queryparser.classic.ParseException;
+import org.apache.lucene.queryparser.classic.QueryParser;
 import org.apache.lucene.search.*;
 import org.apache.lucene.analysis.Analyzer;
 import org.apache.lucene.analysis.TokenStream;
Index: solr/src/java/org/apache/solr/search/TermQParserPlugin.java
===================================================================
--- solr/src/java/org/apache/solr/search/TermQParserPlugin.java	(revision 1144582)
+++ solr/src/java/org/apache/solr/search/TermQParserPlugin.java	(working copy)
@@ -17,7 +17,7 @@
 package org.apache.solr.search;
 
 import org.apache.lucene.index.Term;
-import org.apache.lucene.queryParser.ParseException;
+import org.apache.lucene.queryparser.classic.ParseException;
 import org.apache.lucene.search.Query;
 import org.apache.lucene.search.TermQuery;
 import org.apache.lucene.util.BytesRef;
Index: solr/src/java/org/apache/solr/search/QueryParsing.java
===================================================================
--- solr/src/java/org/apache/solr/search/QueryParsing.java	(revision 1144582)
+++ solr/src/java/org/apache/solr/search/QueryParsing.java	(working copy)
@@ -20,8 +20,8 @@
 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.queryparser.classic.ParseException;
+import org.apache.lucene.queryparser.classic.QueryParser;
 import org.apache.lucene.search.BooleanClause;
 import org.apache.lucene.search.BooleanQuery;
 import org.apache.lucene.search.ConstantScoreQuery;
@@ -79,11 +79,11 @@
    * @see IndexSchema#getQueryParserDefaultOperator()
    * @see #OP
    */
-  public static Operator getQueryParserDefaultOperator(final IndexSchema sch, 
+  public static QueryParser.Operator getQueryParserDefaultOperator(final IndexSchema sch, 
                                                        final String override) {
     String val = override;
     if (null == val) val = sch.getQueryParserDefaultOperator();
-    return "AND".equals(val) ? Operator.AND : Operator.OR;
+    return "AND".equals(val) ? QueryParser.Operator.AND : QueryParser.Operator.OR;
   }
 
 
Index: solr/src/java/org/apache/solr/search/NestedQParserPlugin.java
===================================================================
--- solr/src/java/org/apache/solr/search/NestedQParserPlugin.java	(revision 1144582)
+++ solr/src/java/org/apache/solr/search/NestedQParserPlugin.java	(working copy)
@@ -17,7 +17,7 @@
 package org.apache.solr.search;
 
 import org.apache.lucene.queries.function.ValueSource;
-import org.apache.lucene.queryParser.ParseException;
+import org.apache.lucene.queryparser.classic.ParseException;
 import org.apache.lucene.search.Query;
 import org.apache.solr.common.params.SolrParams;
 import org.apache.solr.common.util.NamedList;
Index: solr/src/java/org/apache/solr/search/SpatialFilterQParser.java
===================================================================
--- solr/src/java/org/apache/solr/search/SpatialFilterQParser.java	(revision 1144582)
+++ solr/src/java/org/apache/solr/search/SpatialFilterQParser.java	(working copy)
@@ -17,7 +17,7 @@
  */
 
 
-import org.apache.lucene.queryParser.ParseException;
+import org.apache.lucene.queryparser.classic.ParseException;
 import org.apache.lucene.search.Query;
 import org.apache.lucene.spatial.geometry.DistanceUnits;
 import org.apache.lucene.spatial.DistanceUtils;
Index: solr/src/java/org/apache/solr/search/ReturnFields.java
===================================================================
--- solr/src/java/org/apache/solr/search/ReturnFields.java	(revision 1144582)
+++ solr/src/java/org/apache/solr/search/ReturnFields.java	(working copy)
@@ -22,7 +22,7 @@
 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.queryparser.classic.ParseException;
 import org.apache.lucene.search.Query;
 import org.apache.solr.common.SolrException;
 import org.apache.solr.common.params.CommonParams;
Index: solr/src/java/org/apache/solr/search/PrefixQParserPlugin.java
===================================================================
--- solr/src/java/org/apache/solr/search/PrefixQParserPlugin.java	(revision 1144582)
+++ solr/src/java/org/apache/solr/search/PrefixQParserPlugin.java	(working copy)
@@ -17,7 +17,7 @@
 package org.apache.solr.search;
 
 import org.apache.lucene.index.Term;
-import org.apache.lucene.queryParser.ParseException;
+import org.apache.lucene.queryparser.classic.ParseException;
 import org.apache.lucene.search.PrefixQuery;
 import org.apache.lucene.search.Query;
 import org.apache.solr.common.params.SolrParams;
Index: solr/src/java/org/apache/solr/search/JoinQParserPlugin.java
===================================================================
--- solr/src/java/org/apache/solr/search/JoinQParserPlugin.java	(revision 1144582)
+++ solr/src/java/org/apache/solr/search/JoinQParserPlugin.java	(working copy)
@@ -17,7 +17,7 @@
 package org.apache.solr.search;
 
 import org.apache.lucene.index.*;
-import org.apache.lucene.queryParser.ParseException;
+import org.apache.lucene.queryparser.classic.ParseException;
 import org.apache.lucene.search.*;
 import org.apache.lucene.util.Bits;
 import org.apache.lucene.util.BytesRef;
Index: solr/src/java/org/apache/solr/search/QParser.java
===================================================================
--- solr/src/java/org/apache/solr/search/QParser.java	(revision 1144582)
+++ solr/src/java/org/apache/solr/search/QParser.java	(working copy)
@@ -16,7 +16,7 @@
  */
 package org.apache.solr.search;
 
-import org.apache.lucene.queryParser.ParseException;
+import org.apache.lucene.queryparser.classic.ParseException;
 import org.apache.lucene.search.Query;
 import org.apache.lucene.search.Sort;
 import org.apache.solr.common.params.CommonParams;
Index: solr/src/java/org/apache/solr/search/SolrQueryParser.java
===================================================================
--- solr/src/java/org/apache/solr/search/SolrQueryParser.java	(revision 1144582)
+++ solr/src/java/org/apache/solr/search/SolrQueryParser.java	(working copy)
@@ -22,8 +22,8 @@
 import java.util.Map.Entry;
 
 import org.apache.lucene.index.Term;
-import org.apache.lucene.queryParser.ParseException;
-import org.apache.lucene.queryParser.QueryParser;
+import org.apache.lucene.queryparser.classic.ParseException;
+import org.apache.lucene.queryparser.classic.QueryParser;
 import org.apache.lucene.search.*;
 import org.apache.lucene.util.ToStringUtils;
 import org.apache.lucene.util.Version;
Index: solr/src/java/org/apache/solr/search/DisMaxQParser.java
===================================================================
--- solr/src/java/org/apache/solr/search/DisMaxQParser.java	(revision 1144582)
+++ solr/src/java/org/apache/solr/search/DisMaxQParser.java	(working copy)
@@ -16,8 +16,8 @@
  */
 package org.apache.solr.search;
 
-import org.apache.lucene.queryParser.ParseException;
-import org.apache.lucene.queryParser.QueryParser.Operator;
+import org.apache.lucene.queryparser.classic.ParseException;
+import org.apache.lucene.queryparser.classic.QueryParser;
 import org.apache.lucene.search.BooleanClause;
 import org.apache.lucene.search.BooleanQuery;
 import org.apache.lucene.search.Query;
@@ -59,10 +59,10 @@
    */
   public static String parseMinShouldMatch(final IndexSchema schema, 
                                            final SolrParams params) {
-    Operator op = QueryParsing.getQueryParserDefaultOperator
+    QueryParser.Operator op = QueryParsing.getQueryParserDefaultOperator
       (schema, params.get(QueryParsing.OP));
     return params.get(DisMaxParams.MM, 
-                      op.equals(Operator.AND) ? "100%" : "0%");
+                      op.equals(QueryParser.Operator.AND) ? "100%" : "0%");
   }
 
   public DisMaxQParser(String qstr, SolrParams localParams, SolrParams params, SolrQueryRequest req) {
Index: solr/src/java/org/apache/solr/search/LuceneQParserPlugin.java
===================================================================
--- solr/src/java/org/apache/solr/search/LuceneQParserPlugin.java	(revision 1144582)
+++ solr/src/java/org/apache/solr/search/LuceneQParserPlugin.java	(working copy)
@@ -16,7 +16,7 @@
  */
 package org.apache.solr.search;
 
-import org.apache.lucene.queryParser.ParseException;
+import org.apache.lucene.queryparser.classic.ParseException;
 import org.apache.lucene.search.Query;
 import org.apache.lucene.search.Sort;
 import org.apache.solr.common.SolrException;
Index: solr/src/java/org/apache/solr/search/Grouping.java
===================================================================
--- solr/src/java/org/apache/solr/search/Grouping.java	(revision 1144582)
+++ solr/src/java/org/apache/solr/search/Grouping.java	(working copy)
@@ -24,7 +24,7 @@
 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.queryparser.classic.ParseException;
 import org.apache.lucene.search.*;
 import org.apache.lucene.search.grouping.*;
 import org.apache.lucene.util.BytesRef;
Index: solr/src/java/org/apache/solr/request/SimpleFacets.java
===================================================================
--- solr/src/java/org/apache/solr/request/SimpleFacets.java	(revision 1144582)
+++ solr/src/java/org/apache/solr/request/SimpleFacets.java	(working copy)
@@ -18,7 +18,7 @@
 package org.apache.solr.request;
 
 import org.apache.lucene.index.*;
-import org.apache.lucene.queryParser.ParseException;
+import org.apache.lucene.queryparser.classic.ParseException;
 import org.apache.lucene.search.*;
 import org.apache.lucene.util.BytesRef;
 import org.apache.lucene.util.CharsRef;
@@ -217,7 +217,7 @@
    *
    * @see FacetParams#FACET_QUERY
    */
-  public NamedList<Integer> getFacetQueryCounts() throws IOException,ParseException {
+  public NamedList<Integer> getFacetQueryCounts() throws IOException, ParseException {
 
     NamedList<Integer> res = new SimpleOrderedMap<Integer>();
 
Index: solr/src/java/org/apache/solr/handler/RequestHandlerBase.java
===================================================================
--- solr/src/java/org/apache/solr/handler/RequestHandlerBase.java	(revision 1144582)
+++ solr/src/java/org/apache/solr/handler/RequestHandlerBase.java	(working copy)
@@ -17,6 +17,7 @@
 
 package org.apache.solr.handler;
 
+import org.apache.lucene.queryparser.classic.ParseException;
 import org.apache.solr.common.SolrException;
 import org.apache.solr.common.params.SolrParams;
 import org.apache.solr.common.util.NamedList;
@@ -27,7 +28,6 @@
 import org.apache.solr.request.SolrRequestHandler;
 import org.apache.solr.response.SolrQueryResponse;
 import org.apache.solr.util.SolrPluginUtils;
-import org.apache.lucene.queryParser.ParseException;
 
 import java.net.URL;
 
Index: solr/src/java/org/apache/solr/handler/component/SearchHandler.java
===================================================================
--- solr/src/java/org/apache/solr/handler/component/SearchHandler.java	(revision 1144582)
+++ solr/src/java/org/apache/solr/handler/component/SearchHandler.java	(working copy)
@@ -17,7 +17,7 @@
 
 package org.apache.solr.handler.component;
 
-import org.apache.lucene.queryParser.ParseException;
+import org.apache.lucene.queryparser.classic.ParseException;
 import org.apache.solr.common.SolrException;
 import org.apache.solr.common.params.CommonParams;
 import org.apache.solr.common.params.ModifiableSolrParams;
Index: solr/src/java/org/apache/solr/handler/component/FacetComponent.java
===================================================================
--- solr/src/java/org/apache/solr/handler/component/FacetComponent.java	(revision 1144582)
+++ solr/src/java/org/apache/solr/handler/component/FacetComponent.java	(working copy)
@@ -17,7 +17,7 @@
 
 package org.apache.solr.handler.component;
 
-import org.apache.lucene.queryParser.ParseException;
+import org.apache.lucene.queryparser.classic.ParseException;
 import org.apache.lucene.util.OpenBitSet;
 import org.apache.solr.common.SolrException;
 import org.apache.solr.common.params.CommonParams;
Index: solr/src/java/org/apache/solr/handler/component/QueryComponent.java
===================================================================
--- solr/src/java/org/apache/solr/handler/component/QueryComponent.java	(revision 1144582)
+++ solr/src/java/org/apache/solr/handler/component/QueryComponent.java	(working copy)
@@ -21,7 +21,7 @@
 import org.apache.lucene.index.IndexReader.AtomicReaderContext;
 import org.apache.lucene.index.IndexReader.ReaderContext;
 import org.apache.lucene.index.Term;
-import org.apache.lucene.queryParser.ParseException;
+import org.apache.lucene.queryparser.classic.ParseException;
 import org.apache.lucene.search.*;
 import org.apache.lucene.util.BytesRef;
 import org.apache.lucene.util.CharsRef;
Index: solr/src/java/org/apache/solr/handler/MoreLikeThisHandler.java
===================================================================
--- solr/src/java/org/apache/solr/handler/MoreLikeThisHandler.java	(revision 1144582)
+++ solr/src/java/org/apache/solr/handler/MoreLikeThisHandler.java	(working copy)
@@ -32,7 +32,7 @@
 import org.apache.lucene.document.Document;
 import org.apache.lucene.index.IndexReader;
 import org.apache.lucene.index.Term;
-import org.apache.lucene.queryParser.ParseException;
+import org.apache.lucene.queryparser.classic.ParseException;
 import org.apache.lucene.search.*;
 import org.apache.lucene.search.similar.MoreLikeThis;
 import org.apache.solr.common.SolrException;
Index: solr/src/java/org/apache/solr/util/SolrPluginUtils.java
===================================================================
--- solr/src/java/org/apache/solr/util/SolrPluginUtils.java	(revision 1144582)
+++ solr/src/java/org/apache/solr/util/SolrPluginUtils.java	(working copy)
@@ -18,8 +18,8 @@
 package org.apache.solr.util;
 
 import org.apache.lucene.document.Document;
-import org.apache.lucene.queryParser.ParseException;
-import org.apache.lucene.queryParser.QueryParser;
+import org.apache.lucene.queryparser.classic.ParseException;
+import org.apache.lucene.queryparser.classic.QueryParser;
 import org.apache.lucene.search.*;
 import org.apache.lucene.search.BooleanClause.Occur;
 import org.apache.solr.common.SolrDocument;
Index: modules/queryparser/NOTICE.txt
===================================================================
--- modules/queryparser/NOTICE.txt	(revision 0)
+++ modules/queryparser/NOTICE.txt	(revision 0)
@@ -0,0 +1,5 @@
+Apache Lucene QueryParsers
+Copyright 2011 The Apache Software Foundation
+
+This product includes software developed by
+The Apache Software Foundation (http://www.apache.org/).
Index: modules/queryparser/LICENSE.txt
===================================================================
--- modules/queryparser/LICENSE.txt	(revision 0)
+++ modules/queryparser/LICENSE.txt	(revision 0)
@@ -0,0 +1,202 @@
+
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
Index: modules/queryparser/src/test/org/apache/lucene/queryparser/classic/TestMultiAnalyzer.java
===================================================================
--- modules/queryparser/src/test/org/apache/lucene/queryparser/classic/TestMultiAnalyzer.java	(revision 0)
+++ modules/queryparser/src/test/org/apache/lucene/queryparser/classic/TestMultiAnalyzer.java	(working copy)
@@ -1,4 +1,4 @@
-package org.apache.lucene.queryParser;
+package org.apache.lucene.queryparser.classic;
 
 /**
  * Licensed to the Apache Software Foundation (ASF) under one or more
Index: modules/queryparser/src/test/org/apache/lucene/queryparser/classic/TestMultiFieldQueryParser.java
===================================================================
--- modules/queryparser/src/test/org/apache/lucene/queryparser/classic/TestMultiFieldQueryParser.java	(revision 0)
+++ modules/queryparser/src/test/org/apache/lucene/queryparser/classic/TestMultiFieldQueryParser.java	(working copy)
@@ -1,4 +1,4 @@
-package org.apache.lucene.queryParser;
+package org.apache.lucene.queryparser.classic;
 
 /**
  * Licensed to the Apache Software Foundation (ASF) under one or more
Index: modules/queryparser/src/test/org/apache/lucene/queryparser/classic/TestQueryParser.java
===================================================================
--- modules/queryparser/src/test/org/apache/lucene/queryparser/classic/TestQueryParser.java	(revision 0)
+++ modules/queryparser/src/test/org/apache/lucene/queryparser/classic/TestQueryParser.java	(working copy)
@@ -1,4 +1,4 @@
-package org.apache.lucene.queryParser;
+package org.apache.lucene.queryparser.classic;
 
 /**
  * Licensed to the Apache Software Foundation (ASF) under one or more
Index: modules/queryparser/src/test/org/apache/lucene/queryparser/classic/TestMultiPhraseQueryParsing.java
===================================================================
--- modules/queryparser/src/test/org/apache/lucene/queryparser/classic/TestMultiPhraseQueryParsing.java	(revision 0)
+++ modules/queryparser/src/test/org/apache/lucene/queryparser/classic/TestMultiPhraseQueryParsing.java	(working copy)
@@ -1,4 +1,4 @@
-package org.apache.lucene.queryParser;
+package org.apache.lucene.queryparser.classic;
 
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
Index: modules/queryparser/src/java/org/apache/lucene/queryparser/classic/QueryParserConstants.java
===================================================================
--- modules/queryparser/src/java/org/apache/lucene/queryparser/classic/QueryParserConstants.java	(revision 0)
+++ modules/queryparser/src/java/org/apache/lucene/queryparser/classic/QueryParserConstants.java	(working copy)
@@ -1,5 +1,5 @@
 /* Generated By:JavaCC: Do not edit this line. QueryParserConstants.java */
-package org.apache.lucene.queryParser;
+package org.apache.lucene.queryparser.classic;
 
 
 /**
Index: modules/queryparser/src/java/org/apache/lucene/queryparser/classic/Token.java
===================================================================
--- modules/queryparser/src/java/org/apache/lucene/queryparser/classic/Token.java	(revision 0)
+++ modules/queryparser/src/java/org/apache/lucene/queryparser/classic/Token.java	(working copy)
@@ -1,6 +1,6 @@
 /* Generated By:JavaCC: Do not edit this line. Token.java Version 4.1 */
 /* JavaCCOptions:TOKEN_EXTENDS=,KEEP_LINE_COL=null */
-package org.apache.lucene.queryParser;
+package org.apache.lucene.queryparser.classic;
 
 /**
  * Describes the input token stream.
Index: modules/queryparser/src/java/org/apache/lucene/queryparser/classic/TokenMgrError.java
===================================================================
--- modules/queryparser/src/java/org/apache/lucene/queryparser/classic/TokenMgrError.java	(revision 0)
+++ modules/queryparser/src/java/org/apache/lucene/queryparser/classic/TokenMgrError.java	(working copy)
@@ -1,6 +1,6 @@
 /* Generated By:JavaCC: Do not edit this line. TokenMgrError.java Version 4.1 */
 /* JavaCCOptions: */
-package org.apache.lucene.queryParser;
+package org.apache.lucene.queryparser.classic;
 
 /** Token Manager Error. */
 @SuppressWarnings("serial")
Index: modules/queryparser/src/java/org/apache/lucene/queryparser/classic/MultiFieldQueryParser.java
===================================================================
--- modules/queryparser/src/java/org/apache/lucene/queryparser/classic/MultiFieldQueryParser.java	(revision 0)
+++ modules/queryparser/src/java/org/apache/lucene/queryparser/classic/MultiFieldQueryParser.java	(working copy)
@@ -1,4 +1,4 @@
-package org.apache.lucene.queryParser;
+package org.apache.lucene.queryparser.classic;
 
 /**
  * Licensed to the Apache Software Foundation (ASF) under one or more
Index: modules/queryparser/src/java/org/apache/lucene/queryparser/classic/QueryParser.java
===================================================================
--- modules/queryparser/src/java/org/apache/lucene/queryparser/classic/QueryParser.java	(revision 0)
+++ modules/queryparser/src/java/org/apache/lucene/queryparser/classic/QueryParser.java	(working copy)
@@ -1,5 +1,5 @@
 /* Generated By:JavaCC: Do not edit this line. QueryParser.java */
-package org.apache.lucene.queryParser;
+package org.apache.lucene.queryparser.classic;
 
 import java.io.StringReader;
 import java.util.ArrayList;
Index: modules/queryparser/src/java/org/apache/lucene/queryparser/classic/QueryParser.jj
===================================================================
--- modules/queryparser/src/java/org/apache/lucene/queryparser/classic/QueryParser.jj	(revision 0)
+++ modules/queryparser/src/java/org/apache/lucene/queryparser/classic/QueryParser.jj	(working copy)
@@ -23,7 +23,7 @@
 
 PARSER_BEGIN(QueryParser)
 
-package org.apache.lucene.queryParser;
+package org.apache.lucene.queryparser.classic;
 
 import java.io.StringReader;
 import java.util.ArrayList;
Index: modules/queryparser/src/java/org/apache/lucene/queryparser/classic/FastCharStream.java
===================================================================
--- modules/queryparser/src/java/org/apache/lucene/queryparser/classic/FastCharStream.java	(revision 0)
+++ modules/queryparser/src/java/org/apache/lucene/queryparser/classic/FastCharStream.java	(working copy)
@@ -1,5 +1,5 @@
 // FastCharStream.java
-package org.apache.lucene.queryParser;
+package org.apache.lucene.queryparser.classic;
 
 /**
  * Licensed to the Apache Software Foundation (ASF) under one or more
Index: modules/queryparser/src/java/org/apache/lucene/queryparser/classic/CharStream.java
===================================================================
--- modules/queryparser/src/java/org/apache/lucene/queryparser/classic/CharStream.java	(revision 0)
+++ modules/queryparser/src/java/org/apache/lucene/queryparser/classic/CharStream.java	(working copy)
@@ -1,6 +1,6 @@
 /* Generated By:JavaCC: Do not edit this line. CharStream.java Version 4.1 */
 /* JavaCCOptions:STATIC=false */
-package org.apache.lucene.queryParser;
+package org.apache.lucene.queryparser.classic;
 
 /**
  * This interface describes a character stream that maintains line and
Index: modules/queryparser/src/java/org/apache/lucene/queryparser/classic/ParseException.java
===================================================================
--- modules/queryparser/src/java/org/apache/lucene/queryparser/classic/ParseException.java	(revision 0)
+++ modules/queryparser/src/java/org/apache/lucene/queryparser/classic/ParseException.java	(working copy)
@@ -1,6 +1,6 @@
 /* Generated By:JavaCC: Do not edit this line. ParseException.java Version 4.1 */
 /* JavaCCOptions:KEEP_LINE_COL=null */
-package org.apache.lucene.queryParser;
+package org.apache.lucene.queryparser.classic;
 
 /**
  * This exception is thrown when parse errors are encountered.
Index: modules/queryparser/src/java/org/apache/lucene/queryparser/classic/QueryParserBase.java
===================================================================
--- modules/queryparser/src/java/org/apache/lucene/queryparser/classic/QueryParserBase.java	(revision 0)
+++ modules/queryparser/src/java/org/apache/lucene/queryparser/classic/QueryParserBase.java	(working copy)
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.lucene.queryParser;
+package org.apache.lucene.queryparser.classic;
 
 import java.io.IOException;
 import java.io.StringReader;
@@ -30,7 +30,7 @@
 import org.apache.lucene.analysis.tokenattributes.TermToBytesRefAttribute;
 import org.apache.lucene.document.DateTools;
 import org.apache.lucene.index.Term;
-import org.apache.lucene.queryParser.QueryParser.Operator;
+import org.apache.lucene.queryparser.classic.QueryParser.Operator;
 import org.apache.lucene.search.*;
 import org.apache.lucene.util.BytesRef;
 import org.apache.lucene.util.Version;
@@ -459,14 +459,14 @@
   }
 
   /**
-   * @exception org.apache.lucene.queryParser.ParseException throw in overridden method to disallow
+   * @exception org.apache.lucene.queryparser.classic.ParseException throw in overridden method to disallow
    */
   protected Query getFieldQuery(String field, String queryText, boolean quoted) throws ParseException {
     return newFieldQuery(analyzer, field, queryText, quoted);
   }
   
   /**
-   * @exception org.apache.lucene.queryParser.ParseException throw in overridden method to disallow
+   * @exception org.apache.lucene.queryparser.classic.ParseException throw in overridden method to disallow
    */
   protected Query newFieldQuery(Analyzer analyzer, String field, String queryText, boolean quoted)  throws ParseException {
     // Use the analyzer to get all the tokens, and then build a TermQuery,
@@ -644,7 +644,7 @@
    * This method may be overridden, for example, to return
    * a SpanNearQuery instead of a PhraseQuery.
    *
-   * @exception org.apache.lucene.queryParser.ParseException throw in overridden method to disallow
+   * @exception org.apache.lucene.queryparser.classic.ParseException throw in overridden method to disallow
    */
   protected Query getFieldQuery(String field, String queryText, int slop)
         throws ParseException {
@@ -662,7 +662,7 @@
 
   /**
    *
-   * @exception org.apache.lucene.queryParser.ParseException
+   * @exception org.apache.lucene.queryparser.classic.ParseException
    */
   protected Query getRangeQuery(String field,
                                 String part1,
@@ -874,7 +874,7 @@
    *    to join.
    *
    * @return Resulting {@link org.apache.lucene.search.Query} object.
-   * @exception org.apache.lucene.queryParser.ParseException throw in overridden method to disallow
+   * @exception org.apache.lucene.queryparser.classic.ParseException throw in overridden method to disallow
    */
   protected Query getBooleanQuery(List<BooleanClause> clauses) throws ParseException {
     return getBooleanQuery(clauses, false);
@@ -892,7 +892,7 @@
    * @param disableCoord true if coord scoring should be disabled.
    *
    * @return Resulting {@link org.apache.lucene.search.Query} object.
-   * @exception org.apache.lucene.queryParser.ParseException throw in overridden method to disallow
+   * @exception org.apache.lucene.queryparser.classic.ParseException throw in overridden method to disallow
    */
   protected Query getBooleanQuery(List<BooleanClause> clauses, boolean disableCoord)
     throws ParseException
@@ -926,7 +926,7 @@
    *   characters (? or *), but is not simple prefix term
    *
    * @return Resulting {@link org.apache.lucene.search.Query} built for the term
-   * @exception org.apache.lucene.queryParser.ParseException throw in overridden method to disallow
+   * @exception org.apache.lucene.queryparser.classic.ParseException throw in overridden method to disallow
    */
   protected Query getWildcardQuery(String field, String termStr) throws ParseException
   {
@@ -960,7 +960,7 @@
    * @param termStr Term token that contains a regular expression
    *
    * @return Resulting {@link org.apache.lucene.search.Query} built for the term
-   * @exception org.apache.lucene.queryParser.ParseException throw in overridden method to disallow
+   * @exception org.apache.lucene.queryparser.classic.ParseException throw in overridden method to disallow
    */
   protected Query getRegexpQuery(String field, String termStr) throws ParseException
   {
@@ -992,7 +992,7 @@
    *    (<b>without</b> trailing '*' character!)
    *
    * @return Resulting {@link org.apache.lucene.search.Query} built for the term
-   * @exception org.apache.lucene.queryParser.ParseException throw in overridden method to disallow
+   * @exception org.apache.lucene.queryparser.classic.ParseException throw in overridden method to disallow
    */
   protected Query getPrefixQuery(String field, String termStr) throws ParseException
   {
@@ -1014,7 +1014,7 @@
    * @param termStr Term token to use for building term for the query
    *
    * @return Resulting {@link org.apache.lucene.search.Query} built for the term
-   * @exception org.apache.lucene.queryParser.ParseException throw in overridden method to disallow
+   * @exception org.apache.lucene.queryparser.classic.ParseException throw in overridden method to disallow
    */
   protected Query getFuzzyQuery(String field, String termStr, float minSimilarity) throws ParseException
   {
Index: modules/queryparser/src/java/org/apache/lucene/queryparser/classic/QueryParserTokenManager.java
===================================================================
--- modules/queryparser/src/java/org/apache/lucene/queryparser/classic/QueryParserTokenManager.java	(revision 0)
+++ modules/queryparser/src/java/org/apache/lucene/queryparser/classic/QueryParserTokenManager.java	(working copy)
@@ -1,5 +1,5 @@
 /* Generated By:JavaCC: Do not edit this line. QueryParserTokenManager.java */
-package org.apache.lucene.queryParser;
+package org.apache.lucene.queryparser.classic;
 import java.io.StringReader;
 import java.util.ArrayList;
 import java.util.List;
Index: modules/queryparser/build.xml
===================================================================
--- modules/queryparser/build.xml	(revision 0)
+++ modules/queryparser/build.xml	(revision 0)
@@ -0,0 +1,59 @@
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+  -->
+
+<project name="queryparser" default="default">
+  <description>
+    Lucene QueryParsers
+  </description>
+
+  <property name="build.dir" location="build/"/>
+  <property name="dist.dir" location="dist/"/>
+  <property name="maven.dist.dir" location="../dist/maven"/>
+
+  <import file="../../lucene/contrib/contrib-build.xml"/>
+
+  <target name="dist-maven" depends="jar-core,javadocs,contrib-build.dist-maven"/>
+
+  <target name="clean-javacc">
+    <delete>
+      <fileset dir="src/java/org/apache/lucene/queryparser/classic" includes="*.java">
+        <containsregexp expression="Generated.*By.*JavaCC"/>
+      </fileset>
+    </delete>
+  </target>
+
+  <target name="javacc" depends="init,javacc-check,clean-javacc,javacc-QueryParser"/>
+
+  <target name="javacc-QueryParser" depends="init,javacc-check" if="javacc.present">
+    <sequential>
+      <invoke-javacc target="src/java/org/apache/lucene/queryparser/classic/QueryParser.jj"
+                     outputDir="src/java/org/apache/lucene/queryparser/classic"/>
+
+      <!-- Change the incorrect public ctors for QueryParser to be protected instead -->
+      <replaceregexp file="src/java/org/apache/lucene/queryparser/classic/QueryParser.java"
+		     byline="true"
+		     match="public QueryParser\(CharStream "
+		     replace="protected QueryParser(CharStream "/>
+      <replaceregexp file="src/java/org/apache/lucene/queryparser/classic/QueryParser.java"
+		     byline="true"
+		     match="public QueryParser\(QueryParserTokenManager "
+		     replace="protected QueryParser(QueryParserTokenManager "/>
+
+    </sequential>
+  </target>
+
+</project>
\ No newline at end of file
Index: modules/analysis/common/src/java/org/apache/lucene/analysis/core/StopFilter.java
===================================================================
--- modules/analysis/common/src/java/org/apache/lucene/analysis/core/StopFilter.java	(revision 1144582)
+++ modules/analysis/common/src/java/org/apache/lucene/analysis/core/StopFilter.java	(working copy)
@@ -26,7 +26,6 @@
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.tokenattributes.CharTermAttribute;
 import org.apache.lucene.analysis.util.CharArraySet;
-import org.apache.lucene.queryParser.QueryParser;
 import org.apache.lucene.util.Version;
 
 /**
Index: modules/analysis/common/src/java/org/apache/lucene/analysis/util/FilteringTokenFilter.java
===================================================================
--- modules/analysis/common/src/java/org/apache/lucene/analysis/util/FilteringTokenFilter.java	(revision 1144582)
+++ modules/analysis/common/src/java/org/apache/lucene/analysis/util/FilteringTokenFilter.java	(working copy)
@@ -22,7 +22,6 @@
 import org.apache.lucene.analysis.TokenFilter;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.tokenattributes.PositionIncrementAttribute;
-import org.apache.lucene.queryParser.QueryParser; // for javadoc
 
 /**
  * Abstract base class for TokenFilters that may remove tokens.
@@ -87,7 +86,7 @@
    * token is incremented.
    *
    * <p> <b>NOTE</b>: be sure to also
-   * set {@link QueryParser#setEnablePositionIncrements} if
+   * set org.apache.lucene.queryparser.classic.QueryParser#setEnablePositionIncrements if
    * you use QueryParser to create queries.
    */
   public void setEnablePositionIncrements(boolean enable) {
Index: modules/benchmark/src/java/org/apache/lucene/benchmark/quality/utils/SimpleQQParser.java
===================================================================
--- modules/benchmark/src/java/org/apache/lucene/benchmark/quality/utils/SimpleQQParser.java	(revision 1144582)
+++ modules/benchmark/src/java/org/apache/lucene/benchmark/quality/utils/SimpleQQParser.java	(working copy)
@@ -19,8 +19,8 @@
 import org.apache.lucene.analysis.standard.StandardAnalyzer;
 import org.apache.lucene.benchmark.quality.QualityQuery;
 import org.apache.lucene.benchmark.quality.QualityQueryParser;
-import org.apache.lucene.queryParser.ParseException;
-import org.apache.lucene.queryParser.QueryParser;
+import org.apache.lucene.queryparser.classic.ParseException;
+import org.apache.lucene.queryparser.classic.QueryParser;
 import org.apache.lucene.search.BooleanClause;
 import org.apache.lucene.search.BooleanQuery;
 import org.apache.lucene.search.Query;
Index: modules/benchmark/src/java/org/apache/lucene/benchmark/quality/QualityQueryParser.java
===================================================================
--- modules/benchmark/src/java/org/apache/lucene/benchmark/quality/QualityQueryParser.java	(revision 1144582)
+++ modules/benchmark/src/java/org/apache/lucene/benchmark/quality/QualityQueryParser.java	(working copy)
@@ -16,7 +16,7 @@
  */
 package org.apache.lucene.benchmark.quality;
 
-import org.apache.lucene.queryParser.ParseException;
+import org.apache.lucene.queryparser.classic.ParseException;
 import org.apache.lucene.search.Query;
 
 /**
Index: modules/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/ReutersQueryMaker.java
===================================================================
--- modules/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/ReutersQueryMaker.java	(revision 1144582)
+++ modules/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/ReutersQueryMaker.java	(working copy)
@@ -19,7 +19,7 @@
 
 import org.apache.lucene.analysis.Analyzer;
 import org.apache.lucene.index.Term;
-import org.apache.lucene.queryParser.QueryParser;
+import org.apache.lucene.queryparser.classic.QueryParser;
 import org.apache.lucene.search.Query;
 import org.apache.lucene.search.WildcardQuery;
 import org.apache.lucene.search.spans.SpanFirstQuery;
Index: modules/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/EnwikiQueryMaker.java
===================================================================
--- modules/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/EnwikiQueryMaker.java	(revision 1144582)
+++ modules/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/EnwikiQueryMaker.java	(working copy)
@@ -24,7 +24,7 @@
 import org.apache.lucene.analysis.Analyzer;
 import org.apache.lucene.analysis.standard.StandardAnalyzer;
 import org.apache.lucene.index.Term;
-import org.apache.lucene.queryParser.QueryParser;
+import org.apache.lucene.queryparser.classic.QueryParser;
 import org.apache.lucene.search.MultiTermQuery;
 import org.apache.lucene.search.Query;
 import org.apache.lucene.search.WildcardQuery;
Index: modules/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/SimpleQueryMaker.java
===================================================================
--- modules/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/SimpleQueryMaker.java	(revision 1144582)
+++ modules/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/SimpleQueryMaker.java	(working copy)
@@ -19,7 +19,7 @@
 
 import org.apache.lucene.analysis.Analyzer;
 import org.apache.lucene.index.Term;
-import org.apache.lucene.queryParser.QueryParser;
+import org.apache.lucene.queryparser.classic.QueryParser;
 import org.apache.lucene.search.BooleanClause.Occur;
 import org.apache.lucene.search.BooleanQuery;
 import org.apache.lucene.search.Query;
Index: modules/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/LongToEnglishQueryMaker.java
===================================================================
--- modules/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/LongToEnglishQueryMaker.java	(revision 1144582)
+++ modules/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/LongToEnglishQueryMaker.java	(working copy)
@@ -21,7 +21,7 @@
 import org.apache.lucene.analysis.standard.StandardAnalyzer;
 import org.apache.lucene.benchmark.byTask.tasks.NewAnalyzerTask;
 import org.apache.lucene.benchmark.byTask.utils.Config;
-import org.apache.lucene.queryParser.QueryParser;
+import org.apache.lucene.queryparser.classic.QueryParser;
 import org.apache.lucene.search.Query;
 import org.apache.lucene.util.English;
 import org.apache.lucene.util.Version;
Index: modules/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/FileBasedQueryMaker.java
===================================================================
--- modules/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/FileBasedQueryMaker.java	(revision 1144582)
+++ modules/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/FileBasedQueryMaker.java	(working copy)
@@ -1,8 +1,8 @@
 package org.apache.lucene.benchmark.byTask.feeds;
 
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.queryParser.QueryParser;
-import org.apache.lucene.queryParser.ParseException;
+import org.apache.lucene.queryparser.classic.ParseException;
+import org.apache.lucene.queryparser.classic.QueryParser;
 import org.apache.lucene.search.Query;
 import org.apache.lucene.benchmark.byTask.tasks.NewAnalyzerTask;
 import org.apache.lucene.util.Version;
Index: modules/benchmark/build.xml
===================================================================
--- modules/benchmark/build.xml	(revision 1144582)
+++ modules/benchmark/build.xml	(working copy)
@@ -41,6 +41,8 @@
       property="analyzers-common.uptodate" classpath.property="analyzers-common.jar"/>
     <contrib-uptodate name="memory" property="memory.uptodate" classpath.property="memory.jar"/>
 
+    <module-uptodate name="queryparser" property="queryparser.uptodate" classpath.property="queryparser.jar"/>
+
     <target name="check-files">
         <available file="temp/news20.tar.gz" property="news20.exists"/>
 
@@ -160,6 +162,7 @@
       <pathelement path="${memory.jar}"/>
       <pathelement path="${highlighter.jar}"/>
       <pathelement path="${analyzers-common.jar}"/>
+      <pathelement path="${queryparser.jar}"/>
       <path refid="base.classpath"/>
     	<fileset dir="lib">
     		<include name="**/*.jar"/>
@@ -268,8 +271,13 @@
          <fileset dir="${common.dir}/contrib/memory" includes="build.xml"/>
       </subant>
     </target>
+    <target name="compile-queryparser" unless="queryparser.uptodate">
+      <subant target="default">
+         <fileset dir="${common.dir}/../modules/queryparser" includes="build.xml"/>
+      </subant>
+    </target>
 
-    <target name="init" depends="contrib-build.init,compile-memory,compile-highlighter,compile-analyzers-common"/>
+    <target name="init" depends="contrib-build.init,compile-memory,compile-highlighter,compile-analyzers-common,compile-queryparser"/>
   
     <target name="clean-javacc">
       <fileset dir="src/java/org/apache/lucene/benchmark/byTask/feeds/demohtml" includes="*.java">
Index: modules/build.xml
===================================================================
--- modules/build.xml	(revision 1144582)
+++ modules/build.xml	(working copy)
@@ -28,6 +28,7 @@
         <fileset dir="grouping" includes="build.xml" />
         <fileset dir="join" includes="build.xml" />
         <fileset dir="queries" includes="build.xml" />
+        <fileset dir="queryparser" includes="build.xml" />
         <fileset dir="suggest" includes="build.xml" />
       </subant>
     </sequential>
@@ -42,6 +43,7 @@
         <fileset dir="grouping" includes="build.xml" />
         <fileset dir="join" includes="build.xml" />
         <fileset dir="queries" includes="build.xml" />
+        <fileset dir="queryparser" includes="build.xml" />
         <fileset dir="suggest" includes="build.xml" />
       </subant>
     </sequential>
@@ -56,6 +58,7 @@
         <fileset dir="grouping" includes="build.xml" />
         <fileset dir="join" includes="build.xml" />
         <fileset dir="queries" includes="build.xml" />
+        <fileset dir="queryparser" includes="build.xml" />
         <fileset dir="suggest" includes="build.xml" />
       </subant>
     </sequential>
@@ -70,6 +73,7 @@
         <fileset dir="grouping" includes="build.xml" />
         <fileset dir="join" includes="build.xml" />
         <fileset dir="queries" includes="build.xml" />
+        <fileset dir="queryparser" includes="build.xml" />
         <fileset dir="suggest" includes="build.xml" />
       </subant>
     </sequential>
@@ -85,6 +89,7 @@
         <fileset dir="grouping" includes="build.xml" />
         <fileset dir="join" includes="build.xml" />
         <fileset dir="queries" includes="build.xml" />
+        <fileset dir="queryparser" includes="build.xml" />
         <fileset dir="suggest" includes="build.xml" />
       </subant>
     </sequential>
@@ -98,6 +103,7 @@
         <fileset dir="grouping" includes="build.xml" />
         <fileset dir="join" includes="build.xml" />
         <fileset dir="queries" includes="build.xml" />
+        <fileset dir="queryparser" includes="build.xml" />
         <fileset dir="suggest" includes="build.xml" />
       </subant>
     </sequential>
@@ -113,6 +119,7 @@
         <fileset dir="grouping" includes="build.xml" />
         <fileset dir="join" includes="build.xml" />
         <fileset dir="queries" includes="build.xml" />
+        <fileset dir="queryparser" includes="build.xml" />
         <fileset dir="suggest" includes="build.xml" />
       </subant>
     </sequential>
Index: lucene/contrib/queryparser/src/test/org/apache/lucene/queryParser/ext/ExtensionStub.java
===================================================================
--- lucene/contrib/queryparser/src/test/org/apache/lucene/queryParser/ext/ExtensionStub.java	(revision 1144582)
+++ lucene/contrib/queryparser/src/test/org/apache/lucene/queryParser/ext/ExtensionStub.java	(working copy)
@@ -1,7 +1,7 @@
 package org.apache.lucene.queryParser.ext;
 
 import org.apache.lucene.index.Term;
-import org.apache.lucene.queryParser.ParseException;
+import org.apache.lucene.queryparser.classic.ParseException;
 import org.apache.lucene.search.Query;
 import org.apache.lucene.search.TermQuery;
 
Index: lucene/contrib/queryparser/src/test/org/apache/lucene/queryParser/ext/TestExtendableQueryParser.java
===================================================================
--- lucene/contrib/queryparser/src/test/org/apache/lucene/queryParser/ext/TestExtendableQueryParser.java	(revision 1144582)
+++ lucene/contrib/queryparser/src/test/org/apache/lucene/queryParser/ext/TestExtendableQueryParser.java	(working copy)
@@ -20,9 +20,9 @@
 import org.apache.lucene.analysis.Analyzer;
 import org.apache.lucene.analysis.MockAnalyzer;
 import org.apache.lucene.analysis.MockTokenizer;
-import org.apache.lucene.queryParser.ParseException;
-import org.apache.lucene.queryParser.QueryParser;
-import org.apache.lucene.queryParser.TestQueryParser;
+import org.apache.lucene.queryparser.classic.ParseException;
+import org.apache.lucene.queryparser.classic.QueryParser;
+import org.apache.lucene.queryparser.classic.TestQueryParser;
 import org.apache.lucene.search.BooleanClause;
 import org.apache.lucene.search.BooleanQuery;
 import org.apache.lucene.search.Query;
Index: lucene/contrib/queryparser/src/test/org/apache/lucene/queryParser/complexPhrase/TestComplexPhraseQuery.java
===================================================================
--- lucene/contrib/queryparser/src/test/org/apache/lucene/queryParser/complexPhrase/TestComplexPhraseQuery.java	(revision 1144582)
+++ lucene/contrib/queryparser/src/test/org/apache/lucene/queryParser/complexPhrase/TestComplexPhraseQuery.java	(working copy)
@@ -24,7 +24,7 @@
 import org.apache.lucene.document.Document;
 import org.apache.lucene.document.Field;
 import org.apache.lucene.index.IndexWriter;
-import org.apache.lucene.queryParser.QueryParser;
+import org.apache.lucene.queryparser.classic.QueryParser;
 import org.apache.lucene.search.IndexSearcher;
 import org.apache.lucene.search.Query;
 import org.apache.lucene.search.ScoreDoc;
Index: lucene/contrib/queryparser/src/test/org/apache/lucene/queryParser/analyzing/TestAnalyzingQueryParser.java
===================================================================
--- lucene/contrib/queryparser/src/test/org/apache/lucene/queryParser/analyzing/TestAnalyzingQueryParser.java	(revision 1144582)
+++ lucene/contrib/queryparser/src/test/org/apache/lucene/queryParser/analyzing/TestAnalyzingQueryParser.java	(working copy)
@@ -25,7 +25,7 @@
 import org.apache.lucene.analysis.TokenFilter;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.tokenattributes.CharTermAttribute;
-import org.apache.lucene.queryParser.ParseException;
+import org.apache.lucene.queryparser.classic.ParseException;
 import org.apache.lucene.util.LuceneTestCase;
 
 /**
Index: lucene/contrib/queryparser/src/test/org/apache/lucene/queryParser/precedence/TestPrecedenceQueryParser.java
===================================================================
--- lucene/contrib/queryparser/src/test/org/apache/lucene/queryParser/precedence/TestPrecedenceQueryParser.java	(revision 1144582)
+++ lucene/contrib/queryparser/src/test/org/apache/lucene/queryParser/precedence/TestPrecedenceQueryParser.java	(working copy)
@@ -35,7 +35,6 @@
 import org.apache.lucene.analysis.tokenattributes.OffsetAttribute;
 import org.apache.lucene.analysis.tokenattributes.CharTermAttribute;
 import org.apache.lucene.document.DateTools;
-import org.apache.lucene.queryParser.TestQueryParser;
 import org.apache.lucene.queryParser.core.QueryNodeException;
 import org.apache.lucene.queryParser.core.QueryNodeParseException;
 import org.apache.lucene.queryParser.standard.config.StandardQueryConfigHandler;
@@ -51,13 +50,14 @@
 import org.apache.lucene.util.LuceneTestCase;
 import org.apache.lucene.util.automaton.BasicAutomata;
 import org.apache.lucene.util.automaton.CharacterRunAutomaton;
+import org.apache.lucene.queryparser.classic.TestQueryParser;
 
 /**
  * <p>
  * This test case tests {@link PrecedenceQueryParser}.
  * </p>
  * <p>
- * It contains all tests from {@link TestQueryParser} with some adjusted to 
+ * It contains all tests from {@link TestQueryParser} with some adjusted to
  * fit the precedence requirement, plus some precedence test cases. 
  * </p>
  * 
Index: lucene/contrib/queryparser/src/java/org/apache/lucene/queryParser/ext/Extensions.java
===================================================================
--- lucene/contrib/queryparser/src/java/org/apache/lucene/queryParser/ext/Extensions.java	(revision 1144582)
+++ lucene/contrib/queryparser/src/java/org/apache/lucene/queryParser/ext/Extensions.java	(working copy)
@@ -16,10 +16,11 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+import org.apache.lucene.queryparser.classic.QueryParser;
+
 import java.util.HashMap;
 import java.util.Map;
 
-import org.apache.lucene.queryParser.QueryParser;
 
 /**
  * The {@link Extensions} class represents an extension mapping to associate
Index: lucene/contrib/queryparser/src/java/org/apache/lucene/queryParser/ext/ExtensionQuery.java
===================================================================
--- lucene/contrib/queryparser/src/java/org/apache/lucene/queryParser/ext/ExtensionQuery.java	(revision 1144582)
+++ lucene/contrib/queryparser/src/java/org/apache/lucene/queryParser/ext/ExtensionQuery.java	(working copy)
@@ -1,6 +1,6 @@
 package org.apache.lucene.queryParser.ext;
 
-import org.apache.lucene.queryParser.QueryParser;
+import org.apache.lucene.queryparser.classic.QueryParser;
 
 /**
  * Licensed to the Apache Software Foundation (ASF) under one or more
Index: lucene/contrib/queryparser/src/java/org/apache/lucene/queryParser/ext/ParserExtension.java
===================================================================
--- lucene/contrib/queryparser/src/java/org/apache/lucene/queryParser/ext/ParserExtension.java	(revision 1144582)
+++ lucene/contrib/queryparser/src/java/org/apache/lucene/queryParser/ext/ParserExtension.java	(working copy)
@@ -17,19 +17,19 @@
  * limitations under the License.
  */
 
-import org.apache.lucene.queryParser.ParseException;
-import org.apache.lucene.queryParser.QueryParser;
+import org.apache.lucene.queryparser.classic.ParseException;
 import org.apache.lucene.search.Query;
 
 /**
  * This class represents an extension base class to the Lucene standard
- * {@link QueryParser}. The {@link QueryParser} is generated by the JavaCC
+ * {@link org.apache.lucene.queryparser.classic.QueryParser}. The
+ * {@link org.apache.lucene.queryparser.classic.QueryParser} is generated by the JavaCC
  * parser generator. Changing or adding functionality or syntax in the standard
  * query parser requires changes to the JavaCC source file. To enable extending
  * the standard query parser without changing the JavaCC sources and re-generate
  * the parser the {@link ParserExtension} can be customized and plugged into an
  * instance of {@link ExtendableQueryParser}, a direct subclass of
- * {@link QueryParser}.
+ * {@link org.apache.lucene.queryparser.classic.QueryParser}.
  * 
  * @see Extensions
  * @see ExtendableQueryParser
Index: lucene/contrib/queryparser/src/java/org/apache/lucene/queryParser/ext/ExtendableQueryParser.java
===================================================================
--- lucene/contrib/queryparser/src/java/org/apache/lucene/queryParser/ext/ExtendableQueryParser.java	(revision 1144582)
+++ lucene/contrib/queryparser/src/java/org/apache/lucene/queryParser/ext/ExtendableQueryParser.java	(working copy)
@@ -18,9 +18,9 @@
  */
 
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.queryParser.ParseException;
-import org.apache.lucene.queryParser.QueryParser;
 import org.apache.lucene.queryParser.ext.Extensions.Pair;
+import org.apache.lucene.queryparser.classic.ParseException;
+import org.apache.lucene.queryparser.classic.QueryParser;
 import org.apache.lucene.search.Query;
 import org.apache.lucene.util.Version;
 
Index: lucene/contrib/queryparser/src/java/org/apache/lucene/queryParser/complexPhrase/ComplexPhraseQueryParser.java
===================================================================
--- lucene/contrib/queryparser/src/java/org/apache/lucene/queryParser/complexPhrase/ComplexPhraseQueryParser.java	(revision 1144582)
+++ lucene/contrib/queryparser/src/java/org/apache/lucene/queryParser/complexPhrase/ComplexPhraseQueryParser.java	(working copy)
@@ -25,8 +25,8 @@
 import org.apache.lucene.analysis.Analyzer;
 import org.apache.lucene.index.IndexReader;
 import org.apache.lucene.index.Term;
-import org.apache.lucene.queryParser.ParseException;
-import org.apache.lucene.queryParser.QueryParser;
+import org.apache.lucene.queryparser.classic.ParseException;
+import org.apache.lucene.queryparser.classic.QueryParser;
 import org.apache.lucene.search.BooleanClause;
 import org.apache.lucene.search.BooleanQuery;
 import org.apache.lucene.search.MultiTermQuery;
Index: lucene/contrib/queryparser/src/java/org/apache/lucene/queryParser/analyzing/AnalyzingQueryParser.java
===================================================================
--- lucene/contrib/queryparser/src/java/org/apache/lucene/queryParser/analyzing/AnalyzingQueryParser.java	(revision 1144582)
+++ lucene/contrib/queryparser/src/java/org/apache/lucene/queryParser/analyzing/AnalyzingQueryParser.java	(working copy)
@@ -25,7 +25,7 @@
 import org.apache.lucene.analysis.Analyzer;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.tokenattributes.CharTermAttribute;
-import org.apache.lucene.queryParser.ParseException;
+import org.apache.lucene.queryparser.classic.ParseException;
 import org.apache.lucene.search.Query;
 import org.apache.lucene.util.Version;
 
@@ -41,7 +41,7 @@
  * using this parser will be no improvement over QueryParser in such cases). 
  *
  */
-public class AnalyzingQueryParser extends org.apache.lucene.queryParser.QueryParser {
+public class AnalyzingQueryParser extends org.apache.lucene.queryparser.classic.QueryParser {
 
   /**
    * Constructs a query parser.
Index: lucene/contrib/queryparser/build.xml
===================================================================
--- lucene/contrib/queryparser/build.xml	(revision 1144582)
+++ lucene/contrib/queryparser/build.xml	(working copy)
@@ -24,9 +24,16 @@
   </description>
 
   <import file="../contrib-build.xml"/>
- 
-  <target name="compile-core" depends="javacc-notice, common.compile-core"/>
 
+  <module-uptodate name="queryparser" property="queryparser.uptodate" classpath.property="queryparser.jar"/>
+
+  <path id="classpath">
+    <pathelement path="${queryparser.jar}"/>
+    <path refid="base.classpath"/>
+  </path>
+
+  <target name="compile-core" depends="javacc-notice,build-queryparser,common.compile-core"/>
+
   <!--
     NOTE: see the README.javacc for details on how to fully regenerate the parser
   -->
@@ -100,4 +107,11 @@
                    outputDir="src/java/org/apache/lucene/queryParser/surround/parser"
     />
   </target>
+
+  <target name="build-queryparser" unless="queryparser.uptodate">
+    <echo>QueryParser Contrib building dependency modules/queryparser</echo>
+    <subant target="default">
+      <fileset dir="${common.dir}/../modules/queryparser" includes="build.xml"/>
+    </subant>
+  </target>
 </project>
Index: lucene/contrib/demo/src/java/org/apache/lucene/demo/SearchFiles.java
===================================================================
--- lucene/contrib/demo/src/java/org/apache/lucene/demo/SearchFiles.java	(revision 1144582)
+++ lucene/contrib/demo/src/java/org/apache/lucene/demo/SearchFiles.java	(working copy)
@@ -27,7 +27,7 @@
 import org.apache.lucene.analysis.Analyzer;
 import org.apache.lucene.analysis.standard.StandardAnalyzer;
 import org.apache.lucene.document.Document;
-import org.apache.lucene.queryParser.QueryParser;
+import org.apache.lucene.queryparser.classic.QueryParser;
 import org.apache.lucene.search.IndexSearcher;
 import org.apache.lucene.search.Query;
 import org.apache.lucene.search.ScoreDoc;
Index: lucene/contrib/demo/build.xml
===================================================================
--- lucene/contrib/demo/build.xml	(revision 1144582)
+++ lucene/contrib/demo/build.xml	(working copy)
@@ -29,6 +29,7 @@
 
   <module-uptodate name="analysis/common" jarfile="${common.dir}/../modules/analysis/build/common/lucene-analyzers-common-${version}.jar"
       property="analyzers-common.uptodate" classpath.property="analyzers-common.jar"/>
+  <module-uptodate name="queryparser" property="queryparser.uptodate" classpath.property="queryparser.jar"/>
   
   <property name="lucene.jar" value="${common.dir}/build/lucene-core-${version}.jar"/>
   <target name="lucene-jar-uptodate" unless="lucene.jar.uptodate">
@@ -43,14 +44,22 @@
   
   <path id="classpath">
 	 <pathelement path="${analyzers-common.jar}"/>
+   <pathelement path="${queryparser.jar}"/>
    <pathelement path="${lucene.jar}"/>
   </path>
 
-  <target name="compile-core" depends="jar-analyzers-common,common.compile-core" />
+  <target name="compile-core" depends="jar-analyzers-common,build-queryparser,common.compile-core" />
 
   <target name="jar-analyzers-common" unless="analyzers-common.uptodate">
     <subant target="jar-core">
       <fileset dir="${common.dir}/../modules/analysis/common" includes="build.xml"/>
     </subant>
   </target>
+
+  <target name="build-queryparser" unless="queryparser.uptodate">
+    <echo>Demo building dependency modules/queryparser</echo>
+    <subant target="default">
+      <fileset dir="${common.dir}/../modules/queryparser" includes="build.xml"/>
+    </subant>
+  </target>
 </project>
Index: lucene/contrib/memory/src/test/org/apache/lucene/index/memory/MemoryIndexTest.java
===================================================================
--- lucene/contrib/memory/src/test/org/apache/lucene/index/memory/MemoryIndexTest.java	(revision 1144582)
+++ lucene/contrib/memory/src/test/org/apache/lucene/index/memory/MemoryIndexTest.java	(working copy)
@@ -33,7 +33,7 @@
 import org.apache.lucene.document.Field;
 import org.apache.lucene.index.IndexWriter;
 import org.apache.lucene.index.IndexWriterConfig;
-import org.apache.lucene.queryParser.QueryParser;
+import org.apache.lucene.queryparser.classic.QueryParser;
 import org.apache.lucene.search.IndexSearcher;
 import org.apache.lucene.search.TopDocs;
 import org.apache.lucene.store.Directory;
Index: lucene/contrib/memory/build.xml
===================================================================
--- lucene/contrib/memory/build.xml	(revision 1144582)
+++ lucene/contrib/memory/build.xml	(working copy)
@@ -24,4 +24,20 @@
   </description>
 
   <import file="../contrib-build.xml"/>
+
+  <module-uptodate name="queryparser" property="queryparser.uptodate" classpath.property="queryparser.jar"/>
+
+  <path id="test.classpath">
+    <pathelement path="${queryparser.jar}"/>
+    <path refid="test.base.classpath"/>
+  </path>
+
+  <target name="compile-core" depends="build-queryparser,common.compile-core" />
+
+  <target name="build-queryparser" unless="queryparser.uptodate">
+    <echo>Memory building dependency modules/queryparser</echo>
+    <subant target="default">
+      <fileset dir="${common.dir}/../modules/queryparser" includes="build.xml"/>
+    </subant>
+  </target>
 </project>
Index: lucene/contrib/xml-query-parser/src/java/org/apache/lucene/xmlparser/CoreParser.java
===================================================================
--- lucene/contrib/xml-query-parser/src/java/org/apache/lucene/xmlparser/CoreParser.java	(revision 1144582)
+++ lucene/contrib/xml-query-parser/src/java/org/apache/lucene/xmlparser/CoreParser.java	(working copy)
@@ -6,7 +6,7 @@
 import javax.xml.parsers.DocumentBuilderFactory;
 
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.queryParser.QueryParser;
+import org.apache.lucene.queryparser.classic.QueryParser;
 import org.apache.lucene.search.Query;
 import org.apache.lucene.xmlparser.builders.*;
 import org.w3c.dom.Document;
Index: lucene/contrib/xml-query-parser/src/java/org/apache/lucene/xmlparser/CorePlusExtensionsParser.java
===================================================================
--- lucene/contrib/xml-query-parser/src/java/org/apache/lucene/xmlparser/CorePlusExtensionsParser.java	(revision 1144582)
+++ lucene/contrib/xml-query-parser/src/java/org/apache/lucene/xmlparser/CorePlusExtensionsParser.java	(working copy)
@@ -1,7 +1,7 @@
 package org.apache.lucene.xmlparser;
 
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.queryParser.QueryParser;
+import org.apache.lucene.queryparser.classic.QueryParser;
 import org.apache.lucene.xmlparser.builders.BooleanFilterBuilder;
 import org.apache.lucene.xmlparser.builders.BoostingQueryBuilder;
 import org.apache.lucene.xmlparser.builders.DuplicateFilterBuilder;
Index: lucene/contrib/xml-query-parser/src/java/org/apache/lucene/xmlparser/builders/UserInputQueryBuilder.java
===================================================================
--- lucene/contrib/xml-query-parser/src/java/org/apache/lucene/xmlparser/builders/UserInputQueryBuilder.java	(revision 1144582)
+++ lucene/contrib/xml-query-parser/src/java/org/apache/lucene/xmlparser/builders/UserInputQueryBuilder.java	(working copy)
@@ -1,8 +1,8 @@
 package org.apache.lucene.xmlparser.builders;
 
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.queryParser.ParseException;
-import org.apache.lucene.queryParser.QueryParser;
+import org.apache.lucene.queryparser.classic.ParseException;
+import org.apache.lucene.queryparser.classic.QueryParser;
 import org.apache.lucene.search.Query;
 import org.apache.lucene.xmlparser.DOMUtils;
 import org.apache.lucene.xmlparser.ParserException;
Index: lucene/contrib/xml-query-parser/build.xml
===================================================================
--- lucene/contrib/xml-query-parser/build.xml	(revision 1144582)
+++ lucene/contrib/xml-query-parser/build.xml	(working copy)
@@ -29,21 +29,24 @@
   <property name="lucene.jar" location="${common.dir}/build/lucene-core-${version}.jar"/>
   <property name="servlet.jar" location="${common.dir}/lib/servlet-api-2.4.jar"/>
   <available property="servlet.jar.present" type="file" file="${servlet.jar}"/>
+  <module-uptodate name="queryparser" property="queryparser.uptodate" classpath.property="queryparser.jar"/>
 
 
   <path id="classpath">
     <pathelement path="${queries.jar}"/>
+    <pathelement path="${queryparser.jar}"/>
     <path refid="base.classpath"/>
   </path>
 
   <path id="web-classpath">
     <pathelement path="${queries.jar}"/>
+    <pathelement path="${queryparser.jar}"/>
     <pathelement path="${servlet.jar}"/>
     <pathelement path="${build.dir}/${final.name}.jar"/>
     <path refid="base.classpath"/>
   </path>
 
-  <target name="compile-core" depends="build-queries, common.compile-core" />
+  <target name="compile-core" depends="build-queries,build-queryparser,common.compile-core" />
 
   <target name="build-queries" unless="queries.uptodate">
     <echo>XML Parser building dependency ${queries.jar}</echo>
@@ -79,4 +82,11 @@
 
   </target>
 
+  <target name="build-queryparser" unless="queryparser.uptodate">
+    <echo>Demo building dependency modules/queryparser</echo>
+    <subant target="default">
+      <fileset dir="${common.dir}/../modules/queryparser" includes="build.xml"/>
+    </subant>
+  </target>
+
 </project>
Index: lucene/contrib/highlighter/src/test/org/apache/lucene/search/highlight/HighlighterTest.java
===================================================================
--- lucene/contrib/highlighter/src/test/org/apache/lucene/search/highlight/HighlighterTest.java	(revision 1144582)
+++ lucene/contrib/highlighter/src/test/org/apache/lucene/search/highlight/HighlighterTest.java	(working copy)
@@ -52,7 +52,6 @@
 import org.apache.lucene.index.IndexWriterConfig;
 import org.apache.lucene.index.Term;
 import org.apache.lucene.index.IndexWriterConfig.OpenMode;
-import org.apache.lucene.queryParser.ParseException;
 import org.apache.lucene.search.*;
 import org.apache.lucene.search.BooleanClause.Occur;
 import org.apache.lucene.search.highlight.SynonymTokenizer.TestHighlightRunner;
@@ -1630,7 +1629,7 @@
   private Directory dir;
   private Analyzer a = new MockAnalyzer(random, MockTokenizer.WHITESPACE, false);
   
-  public void testWeightedTermsWithDeletes() throws IOException, ParseException, InvalidTokenOffsetsException {
+  public void testWeightedTermsWithDeletes() throws IOException, InvalidTokenOffsetsException {
     makeIndex();
     deleteDocument();
     searchIndex();
@@ -1660,7 +1659,7 @@
     writer.close();
   }
   
-  private void searchIndex() throws IOException, ParseException, InvalidTokenOffsetsException {
+  private void searchIndex() throws IOException, InvalidTokenOffsetsException {
     Query query = new TermQuery(new Term("t_text1", "random"));
     IndexSearcher searcher = new IndexSearcher( dir, true );
     // This scorer can return negative idf -> null fragment
Index: lucene/contrib/highlighter/src/test/org/apache/lucene/search/vectorhighlight/AbstractTestCase.java
===================================================================
--- lucene/contrib/highlighter/src/test/org/apache/lucene/search/vectorhighlight/AbstractTestCase.java	(revision 1144582)
+++ lucene/contrib/highlighter/src/test/org/apache/lucene/search/vectorhighlight/AbstractTestCase.java	(working copy)
@@ -42,7 +42,6 @@
 import org.apache.lucene.index.IndexWriterConfig;
 import org.apache.lucene.index.Term;
 import org.apache.lucene.index.IndexWriterConfig.OpenMode;
-import org.apache.lucene.queryParser.QueryParser;
 import org.apache.lucene.search.DisjunctionMaxQuery;
 import org.apache.lucene.search.PhraseQuery;
 import org.apache.lucene.search.Query;
Index: lucene/src/test/org/apache/lucene/queryParser/TestMultiAnalyzer.java (deleted)
===================================================================
Index: lucene/src/test/org/apache/lucene/queryParser/TestMultiFieldQueryParser.java (deleted)
===================================================================
Index: lucene/src/test/org/apache/lucene/queryParser/TestQueryParser.java (deleted)
===================================================================
Index: lucene/src/test/org/apache/lucene/queryParser/TestMultiPhraseQueryParsing.java (deleted)
===================================================================
Index: lucene/src/test/org/apache/lucene/search/TestSort.java
===================================================================
--- lucene/src/test/org/apache/lucene/search/TestSort.java	(revision 1144582)
+++ lucene/src/test/org/apache/lucene/search/TestSort.java	(working copy)
@@ -38,7 +38,6 @@
 import org.apache.lucene.index.Term;
 import org.apache.lucene.index.codecs.CodecProvider;
 import org.apache.lucene.index.values.ValueType;
-import org.apache.lucene.queryParser.ParseException;
 import org.apache.lucene.search.BooleanClause.Occur;
 import org.apache.lucene.search.FieldValueHitQueue.Entry;
 import org.apache.lucene.search.cache.ByteValuesCreator;
@@ -365,7 +364,7 @@
   /**
    * Test String sorting: small queue to many matches, multi field sort, reverse sort
    */
-  public void testStringSort() throws IOException, ParseException {
+  public void testStringSort() throws IOException {
     ScoreDoc[] result = null;
     IndexSearcher searcher = getFullStrings();
     sort.setSort(
Index: lucene/src/test/org/apache/lucene/search/TestMultiPhraseQuery.java
===================================================================
--- lucene/src/test/org/apache/lucene/search/TestMultiPhraseQuery.java	(revision 1144582)
+++ lucene/src/test/org/apache/lucene/search/TestMultiPhraseQuery.java	(working copy)
@@ -23,7 +23,6 @@
 import org.apache.lucene.index.TermsEnum;
 import org.apache.lucene.index.IndexReader;
 import org.apache.lucene.index.MultiFields;
-import org.apache.lucene.queryParser.ParseException;
 import org.apache.lucene.store.Directory;
 import org.apache.lucene.util.BytesRef;
 import org.apache.lucene.util.TermContext;
@@ -465,7 +464,7 @@
    * using query parser, MPQ will be created, and will not be strict about having all query terms 
    * in each position - one of each position is sufficient (OR logic)
    */
-  public void testZeroPosIncrSloppyParsedAnd() throws IOException, ParseException {
+  public void testZeroPosIncrSloppyParsedAnd() throws IOException {
     MultiPhraseQuery q = new MultiPhraseQuery();
     q.add(new Term[]{ new Term("field", "a"), new Term("field", "1") }, -1);
     q.add(new Term[]{ new Term("field", "b"), new Term("field", "1") }, 0);
@@ -509,7 +508,7 @@
   /**
    * PQ AND Mode - Manually creating a phrase query
    */
-  public void testZeroPosIncrSloppyPqAnd() throws IOException, ParseException {
+  public void testZeroPosIncrSloppyPqAnd() throws IOException {
     final PhraseQuery pq = new PhraseQuery();
     for (TokenAndPos tap : INCR_0_QUERY_TOKENS_AND) {
       pq.add(new Term("field",tap.token), tap.pos);
@@ -524,7 +523,7 @@
   /**
    * MPQ AND Mode - Manually creating a multiple phrase query
    */
-  public void testZeroPosIncrSloppyMpqAnd() throws IOException, ParseException {
+  public void testZeroPosIncrSloppyMpqAnd() throws IOException {
     final MultiPhraseQuery mpq = new MultiPhraseQuery();
     for (TokenAndPos tap : INCR_0_QUERY_TOKENS_AND) {
       mpq.add(new Term[]{new Term("field",tap.token)}, tap.pos); //AND logic
@@ -539,7 +538,7 @@
   /**
    * MPQ Combined AND OR Mode - Manually creating a multiple phrase query
    */
-  public void testZeroPosIncrSloppyMpqAndOrMatch() throws IOException, ParseException {
+  public void testZeroPosIncrSloppyMpqAndOrMatch() throws IOException {
     final MultiPhraseQuery mpq = new MultiPhraseQuery();
     for (TokenAndPos tap[] : INCR_0_QUERY_TOKENS_AND_OR_MATCH) {
       Term[] terms = tapTerms(tap);
@@ -556,7 +555,7 @@
   /**
    * MPQ Combined AND OR Mode - Manually creating a multiple phrase query - with no match
    */
-  public void testZeroPosIncrSloppyMpqAndOrNoMatch() throws IOException, ParseException {
+  public void testZeroPosIncrSloppyMpqAndOrNoMatch() throws IOException {
     final MultiPhraseQuery mpq = new MultiPhraseQuery();
     for (TokenAndPos tap[] : INCR_0_QUERY_TOKENS_AND_OR_NO_MATCHN) {
       Term[] terms = tapTerms(tap);
Index: lucene/src/java/org/apache/lucene/queryParser/QueryParserConstants.java (deleted)
===================================================================
Index: lucene/src/java/org/apache/lucene/queryParser/Token.java (deleted)
===================================================================
Index: lucene/src/java/org/apache/lucene/queryParser/TokenMgrError.java (deleted)
===================================================================
Index: lucene/src/java/org/apache/lucene/queryParser/MultiFieldQueryParser.java (deleted)
===================================================================
Index: lucene/src/java/org/apache/lucene/queryParser/QueryParser.java (deleted)
===================================================================
Index: lucene/src/java/org/apache/lucene/queryParser/QueryParser.jj (deleted)
===================================================================
Index: lucene/src/java/org/apache/lucene/queryParser/FastCharStream.java (deleted)
===================================================================
Index: lucene/src/java/org/apache/lucene/queryParser/CharStream.java (deleted)
===================================================================
Index: lucene/src/java/org/apache/lucene/queryParser/ParseException.java (deleted)
===================================================================
Index: lucene/src/java/org/apache/lucene/queryParser/QueryParserBase.java (deleted)
===================================================================
Index: lucene/src/java/org/apache/lucene/queryParser/QueryParserTokenManager.java (deleted)
===================================================================
Index: lucene/src/java/org/apache/lucene/queryParser/package.html (deleted)
===================================================================
Index: lucene/src/java/org/apache/lucene/search/MultiTermQuery.java
===================================================================
--- lucene/src/java/org/apache/lucene/search/MultiTermQuery.java	(revision 1144582)
+++ lucene/src/java/org/apache/lucene/search/MultiTermQuery.java	(working copy)
@@ -23,7 +23,6 @@
 import org.apache.lucene.index.Term;
 import org.apache.lucene.index.Terms;
 import org.apache.lucene.index.TermsEnum;
-import org.apache.lucene.queryParser.QueryParser;
 import org.apache.lucene.util.AttributeSource;
 import org.apache.lucene.util.TermContext;
 
@@ -56,7 +55,7 @@
  * a priority queue to only collect competitive terms
  * and not hit this limitation.
  *
- * Note that {@link QueryParser} produces
+ * Note that org.apache.lucene.queryparser.classic.QueryParser produces
  * MultiTermQueries using {@link
  * #CONSTANT_SCORE_AUTO_REWRITE_DEFAULT} by default.
  */
Index: lucene/build.xml
===================================================================
--- lucene/build.xml	(revision 1144582)
+++ lucene/build.xml	(working copy)
@@ -521,9 +521,6 @@
   <!-- ================================================================== -->
   <target name="clean-javacc">
     <delete>
-      <fileset dir="src/java/org/apache/lucene/queryParser" includes="*.java">
-        <containsregexp expression="Generated.*By.*JavaCC"/>
-      </fileset>
       <fileset dir="contrib/queryparser/src/java/org/apache/lucene/queryParser/surround/parser" includes="*.java">
         <containsregexp expression="Generated.*By.*JavaCC"/>
       </fileset>
@@ -533,25 +530,7 @@
     </delete>
   </target>
 
-  <target name="javacc" depends="init,javacc-check,clean-javacc,javacc-QueryParser,javacc-contrib-queryparser,javacc-contrib-demo"/>
-
-  <target name="javacc-QueryParser" depends="init,javacc-check" if="javacc.present">
-    <sequential>
-      <invoke-javacc target="src/java/org/apache/lucene/queryParser/QueryParser.jj"
-                     outputDir="src/java/org/apache/lucene/queryParser"/>
-
-      <!-- Change the inccorrect public ctors for QueryParser to be protected instead -->
-      <replaceregexp file="src/java/org/apache/lucene/queryParser/QueryParser.java"
-		     byline="true"
-		     match="public QueryParser\(CharStream "
-		     replace="protected QueryParser(CharStream "/>
-      <replaceregexp file="src/java/org/apache/lucene/queryParser/QueryParser.java"
-		     byline="true"
-		     match="public QueryParser\(QueryParserTokenManager "
-		     replace="protected QueryParser(QueryParserTokenManager "/>
-
-    </sequential>
-  </target>	
+  <target name="javacc" depends="init,javacc-check,clean-javacc,javacc-contrib-queryparser,javacc-contrib-demo"/>
 	
   <target name="javacc-contrib-queryparser" depends="init,javacc-check" if="javacc.present">
     <ant target="javacc"
Index: dev-tools/idea/solr/solr.iml
===================================================================
--- dev-tools/idea/solr/solr.iml	(revision 1144582)
+++ dev-tools/idea/solr/solr.iml	(working copy)
@@ -33,5 +33,6 @@
     <orderEntry type="module" module-name="suggest" />
     <orderEntry type="module" module-name="analysis-common" />
     <orderEntry type="module" module-name="lucene" />
+    <orderEntry type="module" module-name="queryparser" />
   </component>
 </module>
Index: dev-tools/idea/.idea/modules.xml
===================================================================
--- dev-tools/idea/.idea/modules.xml	(revision 1144582)
+++ dev-tools/idea/.idea/modules.xml	(working copy)
@@ -25,6 +25,7 @@
       <module filepath="$PROJECT_DIR$/modules/grouping/grouping.iml" />
       <module filepath="$PROJECT_DIR$/modules/join/join.iml" />
       <module filepath="$PROJECT_DIR$/modules/queries/queries.iml" />
+      <module filepath="$PROJECT_DIR$/modules/queryparser/queryparser.iml" />
       <module filepath="$PROJECT_DIR$/modules/suggest/suggest.iml" />
       <module filepath="$PROJECT_DIR$/solr/solr.iml" />
       <module filepath="$PROJECT_DIR$/solr/contrib/analysis-extras/analysis-extras.iml" />
Index: dev-tools/idea/.idea/workspace.xml
===================================================================
--- dev-tools/idea/.idea/workspace.xml	(revision 1144582)
+++ dev-tools/idea/.idea/workspace.xml	(working copy)
@@ -141,6 +141,13 @@
       <option name="VM_PARAMETERS" value="-ea -DtempDir=temp" />
       <option name="TEST_SEARCH_SCOPE"><value defaultName="singleModule" /></option>
     </configuration>
+    <configuration default="false" name="queryparser module" type="JUnit" factoryName="JUnit">
+      <module name="queryparser" />
+      <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-contrib" />
       <option name="TEST_OBJECT" value="package" />
@@ -204,7 +211,7 @@
       <option name="VM_PARAMETERS" value="-ea -DtempDir=temp" />
       <option name="TEST_SEARCH_SCOPE"><value defaultName="singleModule" /></option>
     </configuration>
-    <list size="29">
+    <list size="30">
       <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" />
@@ -225,15 +232,16 @@
       <item index="17" class="java.lang.String" itemvalue="JUnit.phonetic analysis module" />
       <item index="18" class="java.lang.String" itemvalue="JUnit.queries contrib" />
       <item index="19" class="java.lang.String" itemvalue="JUnit.queries module" />
-      <item index="20" class="java.lang.String" itemvalue="JUnit.queryparser contrib" />
-      <item index="21" class="java.lang.String" itemvalue="JUnit.smartcn analysis module" />
-      <item index="22" class="java.lang.String" itemvalue="JUnit.solr" />
-      <item index="23" class="java.lang.String" itemvalue="JUnit.spatial contrib" />
-      <item index="24" class="java.lang.String" itemvalue="JUnit.stempel analysis module" />
-      <item index="25" class="java.lang.String" itemvalue="JUnit.suggest module" />
-      <item index="26" class="java.lang.String" itemvalue="JUnit.uima contrib" />
-      <item index="27" class="java.lang.String" itemvalue="JUnit.wordnet contrib" />
-      <item index="28" class="java.lang.String" itemvalue="JUnit.xml-query-parser contrib" />
+      <item index="20" class="java.lang.String" itemvalue="JUnit.queryparser module" />
+      <item index="21" class="java.lang.String" itemvalue="JUnit.queryparser contrib" />
+      <item index="22" class="java.lang.String" itemvalue="JUnit.smartcn analysis module" />
+      <item index="23" class="java.lang.String" itemvalue="JUnit.solr" />
+      <item index="24" class="java.lang.String" itemvalue="JUnit.spatial contrib" />
+      <item index="25" class="java.lang.String" itemvalue="JUnit.stempel analysis module" />
+      <item index="26" class="java.lang.String" itemvalue="JUnit.suggest module" />
+      <item index="27" class="java.lang.String" itemvalue="JUnit.uima contrib" />
+      <item index="28" class="java.lang.String" itemvalue="JUnit.wordnet contrib" />
+      <item index="29" class="java.lang.String" itemvalue="JUnit.xml-query-parser contrib" />
     </list>
   </component>
 </project>
Index: dev-tools/idea/modules/queryparser/queryparser.iml
===================================================================
--- dev-tools/idea/modules/queryparser/queryparser.iml	(revision 0)
+++ dev-tools/idea/modules/queryparser/queryparser.iml	(revision 0)
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module type="JAVA_MODULE" version="4">
+  <component name="NewModuleRootManager" inherit-compiler-output="false">
+    <output url="file://$MODULE_DIR$/build/classes/java" />
+    <output-test url="file://$MODULE_DIR$/build/classes/test" />
+    <exclude-output />
+    <content url="file://$MODULE_DIR$">
+      <sourceFolder url="file://$MODULE_DIR$/src/java" isTestSource="false" />
+      <sourceFolder url="file://$MODULE_DIR$/src/test" isTestSource="true" />
+      <excludeFolder url="file://$MODULE_DIR$/work" />
+    </content>
+    <orderEntry type="inheritedJdk" />
+    <orderEntry type="sourceFolder" forTests="false" />
+    <orderEntry type="library" scope="TEST" name="JUnit" level="project" />
+    <orderEntry type="module" module-name="lucene" />
+  </component>
+</module>
Index: dev-tools/idea/modules/benchmark/benchmark.iml
===================================================================
--- dev-tools/idea/modules/benchmark/benchmark.iml	(revision 1144582)
+++ dev-tools/idea/modules/benchmark/benchmark.iml	(working copy)
@@ -30,5 +30,6 @@
     <orderEntry type="module" module-name="memory" />
     <orderEntry type="module" module-name="analysis-common" />
     <orderEntry type="module" module-name="lucene" />
+    <orderEntry type="module" module-name="queryparser" />
   </component>
 </module>
Index: dev-tools/idea/lucene/contrib/queryparser/queryparser-contrib.iml
===================================================================
--- dev-tools/idea/lucene/contrib/queryparser/queryparser-contrib.iml	(revision 1144582)
+++ dev-tools/idea/lucene/contrib/queryparser/queryparser-contrib.iml	(working copy)
@@ -15,5 +15,6 @@
     <orderEntry type="module" module-name="queries-contrib" />
     <orderEntry type="module" module-name="misc" />
     <orderEntry type="module" module-name="lucene" />
+    <orderEntry type="module" module-name="queryparser" />
   </component>
 </module>
Index: dev-tools/idea/lucene/contrib/demo/demo.iml
===================================================================
--- dev-tools/idea/lucene/contrib/demo/demo.iml	(revision 1144582)
+++ dev-tools/idea/lucene/contrib/demo/demo.iml	(working copy)
@@ -13,5 +13,6 @@
     <orderEntry type="library" scope="TEST" name="JUnit" level="project" />
     <orderEntry type="module" module-name="analysis-common" />
     <orderEntry type="module" module-name="lucene" />
+    <orderEntry type="module" module-name="queryparser" />
   </component>
 </module>
Index: dev-tools/idea/lucene/contrib/memory/memory.iml
===================================================================
--- dev-tools/idea/lucene/contrib/memory/memory.iml	(revision 1144582)
+++ dev-tools/idea/lucene/contrib/memory/memory.iml	(working copy)
@@ -14,5 +14,6 @@
     <orderEntry type="module" module-name="queries-contrib" />
     <orderEntry type="module" module-name="misc" />
     <orderEntry type="module" module-name="lucene" />
+    <orderEntry type="module" module-name="queryparser" />
   </component>
 </module>
Index: dev-tools/idea/lucene/contrib/xml-query-parser/xml-query-parser.iml
===================================================================
--- dev-tools/idea/lucene/contrib/xml-query-parser/xml-query-parser.iml	(revision 1144582)
+++ dev-tools/idea/lucene/contrib/xml-query-parser/xml-query-parser.iml	(working copy)
@@ -18,5 +18,6 @@
     <orderEntry type="module" module-name="misc" />
     <orderEntry type="module" module-name="analysis-common" />
     <orderEntry type="module" module-name="lucene" />
+    <orderEntry type="module" module-name="queryparser" />
   </component>
 </module>
Index: dev-tools/eclipse/dot.classpath
===================================================================
--- dev-tools/eclipse/dot.classpath	(revision 1144582)
+++ dev-tools/eclipse/dot.classpath	(working copy)
@@ -49,6 +49,8 @@
 	<classpathentry kind="src" path="modules/grouping/src/test"/>
   <classpathentry kind="src" path="modules/queries/src/java"/>
 	<classpathentry kind="src" path="modules/queries/src/test"/>
+	<classpathentry kind="src" path="modules/queryparser/src/java"/>
+	<classpathentry kind="src" path="modules/queryparser/src/test"/>
 	<classpathentry kind="src" path="modules/suggest/src/java"/>
 	<classpathentry kind="src" path="modules/suggest/src/test"/>
 	<classpathentry kind="src" path="solr/src/java"/>
Index: dev-tools/maven/solr/src/pom.xml.template
===================================================================
--- dev-tools/maven/solr/src/pom.xml.template	(revision 1144582)
+++ dev-tools/maven/solr/src/pom.xml.template	(working copy)
@@ -82,8 +82,8 @@
       <version>${project.version}</version>
     </dependency>
     <dependency>
-      <groupId>org.apache.lucene</groupId>
-      <artifactId>lucene-queries-contrib</artifactId>
+      <groupId>${project.groupId}</groupId>
+      <artifactId>lucene-queryparser</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
Index: dev-tools/maven/modules/queryparser/pom.xml.template
===================================================================
--- dev-tools/maven/modules/queryparser/pom.xml.template	(revision 0)
+++ dev-tools/maven/modules/queryparser/pom.xml.template	(revision 0)
@@ -0,0 +1,71 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+  <!--
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+  -->
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>org.apache.lucene</groupId>
+    <artifactId>lucene-parent</artifactId>
+    <version>@version@</version>
+    <relativePath>../../lucene/pom.xml</relativePath>
+  </parent>
+  <groupId>org.apache.lucene</groupId>
+  <artifactId>lucene-queryparser</artifactId>
+  <packaging>jar</packaging>
+  <name>Lucene QueryParsers</name>
+  <description>Lucene QueryParsers module</description>
+  <properties>
+    <module-directory>modules/queryparser</module-directory>
+    <build-directory>build</build-directory>
+  </properties>
+  <dependencies>
+    <dependency>
+      <groupId>${project.groupId}</groupId>
+      <artifactId>lucene-core</artifactId>
+      <version>${project.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>${project.groupId}</groupId>
+      <artifactId>lucene-test-framework</artifactId>
+      <version>${project.version}</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <scope>test</scope>
+    </dependency>
+  </dependencies>
+  <build>
+    <directory>${build-directory}</directory>
+    <outputDirectory>${build-directory}/classes/java</outputDirectory>
+    <testOutputDirectory>${build-directory}/classes/test</testOutputDirectory>
+    <sourceDirectory>src/java</sourceDirectory>
+    <testSourceDirectory>src/test</testSourceDirectory>
+    <testResources>
+      <testResource>
+        <directory>${project.build.testSourceDirectory}</directory>
+        <excludes>
+          <exclude>**/*.java</exclude>
+        </excludes>
+      </testResource>
+    </testResources>
+  </build>
+</project>
Index: dev-tools/maven/modules/pom.xml.template
===================================================================
--- dev-tools/maven/modules/pom.xml.template	(revision 1144582)
+++ dev-tools/maven/modules/pom.xml.template	(working copy)
@@ -37,6 +37,7 @@
     <module>grouping</module>
     <module>join</module>
     <module>queries</module>
+    <module>queryparser</module>
     <module>suggest</module>
   </modules>
   <build>
Index: dev-tools/maven/modules/benchmark/pom.xml.template
===================================================================
--- dev-tools/maven/modules/benchmark/pom.xml.template	(revision 1144582)
+++ dev-tools/maven/modules/benchmark/pom.xml.template	(working copy)
@@ -63,6 +63,11 @@
       <version>${project.version}</version>
     </dependency>
     <dependency>
+      <groupId>${project.groupId}</groupId>
+      <artifactId>lucene-queryparser</artifactId>
+      <version>${project.version}</version>
+    </dependency>
+    <dependency>
       <groupId>commons-beanutils</groupId>
       <artifactId>commons-beanutils</artifactId>
     </dependency>
Index: dev-tools/maven/lucene/contrib/queryparser/pom.xml.template
===================================================================
--- dev-tools/maven/lucene/contrib/queryparser/pom.xml.template	(revision 1144582)
+++ dev-tools/maven/lucene/contrib/queryparser/pom.xml.template	(working copy)
@@ -45,6 +45,11 @@
     </dependency>
     <dependency>
       <groupId>${project.groupId}</groupId>
+      <artifactId>lucene-queryparser</artifactId>
+      <version>${project.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>${project.groupId}</groupId>
       <artifactId>lucene-core</artifactId>
       <version>${project.version}</version>
       <type>test-jar</type>
Index: dev-tools/maven/lucene/contrib/demo/pom.xml.template
===================================================================
--- dev-tools/maven/lucene/contrib/demo/pom.xml.template	(revision 1144582)
+++ dev-tools/maven/lucene/contrib/demo/pom.xml.template	(working copy)
@@ -53,6 +53,11 @@
       <version>${project.version}</version>
     </dependency>
     <dependency>
+      <groupId>${project.groupId}</groupId>
+      <artifactId>lucene-queryparser</artifactId>
+      <version>${project.version}</version>
+    </dependency>
+    <dependency>
       <groupId>junit</groupId>
       <artifactId>junit</artifactId>
       <scope>test</scope>
Index: dev-tools/maven/lucene/contrib/memory/pom.xml.template
===================================================================
--- dev-tools/maven/lucene/contrib/memory/pom.xml.template	(revision 1144582)
+++ dev-tools/maven/lucene/contrib/memory/pom.xml.template	(working copy)
@@ -45,6 +45,12 @@
     </dependency>
     <dependency>
       <groupId>${project.groupId}</groupId>
+      <artifactId>lucene-queryparser</artifactId>
+      <version>${project.version}</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>${project.groupId}</groupId>
       <artifactId>lucene-test-framework</artifactId>
       <version>${project.version}</version>
       <scope>test</scope>
Index: dev-tools/maven/lucene/contrib/xml-query-parser/pom.xml.template
===================================================================
--- dev-tools/maven/lucene/contrib/xml-query-parser/pom.xml.template	(revision 1144582)
+++ dev-tools/maven/lucene/contrib/xml-query-parser/pom.xml.template	(working copy)
@@ -53,6 +53,11 @@
       <version>${project.version}</version>
     </dependency>
     <dependency>
+      <groupId>${project.groupId}</groupId>
+      <artifactId>lucene-queryparser</artifactId>
+      <version>${project.version}</version>
+    </dependency>
+    <dependency>
       <groupId>javax.servlet</groupId>
       <artifactId>servlet-api</artifactId>
       <scope>provided</scope>
