You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by ro...@apache.org on 2016/03/03 12:31:07 UTC

lucene-solr git commit: LUCENE-7058: Add getters for various Query implementations

Repository: lucene-solr
Updated Branches:
  refs/heads/master 4c4313889 -> 682b17960


LUCENE-7058: Add getters for various Query implementations


Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/682b1796
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/682b1796
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/682b1796

Branch: refs/heads/master
Commit: 682b179605bace3f2ebec8b55517463906cc249d
Parents: 4c43138
Author: Alan Woodward <ro...@apache.org>
Authored: Thu Mar 3 11:13:29 2016 +0000
Committer: Alan Woodward <ro...@apache.org>
Committed: Thu Mar 3 11:15:15 2016 +0000

----------------------------------------------------------------------
 lucene/CHANGES.txt                              |  3 ++
 .../apache/lucene/search/FieldValueQuery.java   |  4 ++
 .../MultiTermQueryConstantScoreWrapper.java     |  3 ++
 .../apache/lucene/search/NGramPhraseQuery.java  |  5 +++
 .../org/apache/lucene/search/RegexpQuery.java   |  7 +++-
 .../org/apache/lucene/search/SynonymQuery.java  |  5 +++
 .../lucene/search/spans/SpanContainQuery.java   |  8 ++++
 .../apache/lucene/queries/BoostingQuery.java    | 12 ++++++
 .../apache/lucene/queries/CommonTermsQuery.java | 44 ++++++++++++++++++++
 .../org/apache/lucene/queries/TermsQuery.java   |  5 +++
 .../queries/function/FunctionRangeQuery.java    | 20 +++++++++
 .../document/LatLonPointDistanceQuery.java      | 16 +++++++
 .../document/LatLonPointInPolygonQuery.java     | 28 +++++++++++++
 .../lucene/search/DocValuesNumbersQuery.java    |  8 ++++
 .../lucene/search/DocValuesRangeQuery.java      | 20 +++++++++
 .../GeoPointTermQueryConstantScoreWrapper.java  |  7 ++++
 .../lucene/geo3d/PointInGeo3DShapeQuery.java    | 12 ++++++
 .../suggest/document/FuzzyCompletionQuery.java  | 42 +++++++++++++++++++
 .../suggest/document/PrefixCompletionQuery.java |  7 ++++
 .../suggest/document/RegexCompletionQuery.java  | 15 +++++++
 .../apache/lucene/search/AssertingQuery.java    |  8 ++++
 21 files changed, 278 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/682b1796/lucene/CHANGES.txt
----------------------------------------------------------------------
diff --git a/lucene/CHANGES.txt b/lucene/CHANGES.txt
index 8022561..949d183 100644
--- a/lucene/CHANGES.txt
+++ b/lucene/CHANGES.txt
@@ -119,6 +119,9 @@ API Changes
 * LUCENE-7060: Update Spatial4j to 0.6.  The package com.spatial4j.core
   is now org.locationtech.spatial4j. (David Smiley)
 
+* LUCENE-7058: Add getters to various Query implementations (Guillaume Smet via
+  Alan Woodward)
+
 Optimizations
 
 * LUCENE-6891: Use prefix coding when writing points in 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/682b1796/lucene/core/src/java/org/apache/lucene/search/FieldValueQuery.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/FieldValueQuery.java b/lucene/core/src/java/org/apache/lucene/search/FieldValueQuery.java
index e73b897..4bc081c 100644
--- a/lucene/core/src/java/org/apache/lucene/search/FieldValueQuery.java
+++ b/lucene/core/src/java/org/apache/lucene/search/FieldValueQuery.java
@@ -38,6 +38,10 @@ public final class FieldValueQuery extends Query {
     this.field = Objects.requireNonNull(field);
   }
 
+  public String getField() {
+    return field;
+  }
+
   @Override
   public boolean equals(Object obj) {
     if (super.equals(obj) == false) {

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/682b1796/lucene/core/src/java/org/apache/lucene/search/MultiTermQueryConstantScoreWrapper.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/MultiTermQueryConstantScoreWrapper.java b/lucene/core/src/java/org/apache/lucene/search/MultiTermQueryConstantScoreWrapper.java
index 410386b..b7a27dc 100644
--- a/lucene/core/src/java/org/apache/lucene/search/MultiTermQueryConstantScoreWrapper.java
+++ b/lucene/core/src/java/org/apache/lucene/search/MultiTermQueryConstantScoreWrapper.java
@@ -104,6 +104,9 @@ final class MultiTermQueryConstantScoreWrapper<Q extends MultiTermQuery> extends
     return 31 * super.hashCode() + query.hashCode();
   }
 
+  /** Returns the encapsulated query */
+  public Q getQuery() { return query; }
+  
   /** Returns the field name for this query */
   public final String getField() { return query.getField(); }
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/682b1796/lucene/core/src/java/org/apache/lucene/search/NGramPhraseQuery.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/NGramPhraseQuery.java b/lucene/core/src/java/org/apache/lucene/search/NGramPhraseQuery.java
index 1b49e8f..e6f085c 100644
--- a/lucene/core/src/java/org/apache/lucene/search/NGramPhraseQuery.java
+++ b/lucene/core/src/java/org/apache/lucene/search/NGramPhraseQuery.java
@@ -94,6 +94,11 @@ public class NGramPhraseQuery extends Query {
     return h;
   }
 
+  /** Return the n in n-gram */
+  public int getN() {
+    return n;
+  }
+
   /** Return the list of terms. */
   public Term[] getTerms() {
     return phraseQuery.getTerms();

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/682b1796/lucene/core/src/java/org/apache/lucene/search/RegexpQuery.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/RegexpQuery.java b/lucene/core/src/java/org/apache/lucene/search/RegexpQuery.java
index 39d56dc..dffde73 100644
--- a/lucene/core/src/java/org/apache/lucene/search/RegexpQuery.java
+++ b/lucene/core/src/java/org/apache/lucene/search/RegexpQuery.java
@@ -109,7 +109,12 @@ public class RegexpQuery extends AutomatonQuery {
           new RegExp(term.text(), flags).toAutomaton(
                        provider, maxDeterminizedStates), maxDeterminizedStates);
   }
-  
+
+  /** Returns the regexp of this query wrapped in a Term. */
+  public Term getRegexp() {
+    return term;
+  }
+
   /** Prints a user-readable version of this query. */
   @Override
   public String toString(String field) {

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/682b1796/lucene/core/src/java/org/apache/lucene/search/SynonymQuery.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/SynonymQuery.java b/lucene/core/src/java/org/apache/lucene/search/SynonymQuery.java
index 6bca14b..4a0ca56 100644
--- a/lucene/core/src/java/org/apache/lucene/search/SynonymQuery.java
+++ b/lucene/core/src/java/org/apache/lucene/search/SynonymQuery.java
@@ -20,6 +20,7 @@ package org.apache.lucene.search;
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.Arrays;
+import java.util.Collections;
 import java.util.List;
 import java.util.Objects;
 import java.util.Set;
@@ -67,6 +68,10 @@ public final class SynonymQuery extends Query {
     Arrays.sort(this.terms);
   }
 
+  public List<Term> getTerms() {
+    return Collections.unmodifiableList(Arrays.asList(terms));
+  }
+  
   @Override
   public String toString(String field) {
     StringBuilder builder = new StringBuilder("Synonym(");

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/682b1796/lucene/core/src/java/org/apache/lucene/search/spans/SpanContainQuery.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/spans/SpanContainQuery.java b/lucene/core/src/java/org/apache/lucene/search/spans/SpanContainQuery.java
index 06f9467..551138d 100644
--- a/lucene/core/src/java/org/apache/lucene/search/spans/SpanContainQuery.java
+++ b/lucene/core/src/java/org/apache/lucene/search/spans/SpanContainQuery.java
@@ -47,6 +47,14 @@ abstract class SpanContainQuery extends SpanQuery implements Cloneable {
 
   @Override
   public String getField() { return big.getField(); }
+  
+  public SpanQuery getBig() {
+    return big;
+  }
+
+  public SpanQuery getLittle() {
+    return little;
+  }
 
   public abstract class SpanContainWeight extends SpanWeight {
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/682b1796/lucene/queries/src/java/org/apache/lucene/queries/BoostingQuery.java
----------------------------------------------------------------------
diff --git a/lucene/queries/src/java/org/apache/lucene/queries/BoostingQuery.java b/lucene/queries/src/java/org/apache/lucene/queries/BoostingQuery.java
index 022d838..0d4ff2c 100644
--- a/lucene/queries/src/java/org/apache/lucene/queries/BoostingQuery.java
+++ b/lucene/queries/src/java/org/apache/lucene/queries/BoostingQuery.java
@@ -139,6 +139,18 @@ public class BoostingQuery extends Query {
       return 31 * super.hashCode() + Objects.hash(match, context, boost);
     }
 
+    public Query getMatch() {
+      return match;
+    }
+
+    public Query getContext() {
+      return context;
+    }
+
+    public float getBoost() {
+      return boost;
+    }
+
     @Override
     public boolean equals(Object obj) {
       if (super.equals(obj) == false) {

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/682b1796/lucene/queries/src/java/org/apache/lucene/queries/CommonTermsQuery.java
----------------------------------------------------------------------
diff --git a/lucene/queries/src/java/org/apache/lucene/queries/CommonTermsQuery.java b/lucene/queries/src/java/org/apache/lucene/queries/CommonTermsQuery.java
index dd90237..c7b7e2f 100644
--- a/lucene/queries/src/java/org/apache/lucene/queries/CommonTermsQuery.java
+++ b/lucene/queries/src/java/org/apache/lucene/queries/CommonTermsQuery.java
@@ -18,6 +18,7 @@ package org.apache.lucene.queries;
 
 import java.io.IOException;
 import java.util.ArrayList;
+import java.util.Collections;
 import java.util.List;
 
 import org.apache.lucene.index.Fields;
@@ -338,6 +339,49 @@ public class CommonTermsQuery extends Query {
     return highFreqMinNrShouldMatch;
   }
   
+  /**
+   * Gets the list of terms.
+   */
+  public List<Term> getTerms() {
+    return Collections.unmodifiableList(terms);
+  }
+  
+  /**
+   * Gets the maximum threshold of a terms document frequency to be considered a
+   * low frequency term.
+   */
+  public float getMaxTermFrequency() {
+    return maxTermFrequency;
+  }
+  
+  /**
+   * Gets the {@link Occur} used for low frequency terms.
+   */
+  public Occur getLowFreqOccur() {
+    return lowFreqOccur;
+  }
+  
+  /**
+   * Gets the {@link Occur} used for high frequency terms.
+   */
+  public Occur getHighFreqOccur() {
+    return highFreqOccur;
+  }
+  
+  /**
+   * Gets the boost used for low frequency terms.
+   */
+  public float getLowFreqBoost() {
+    return lowFreqBoost;
+  }
+  
+  /**
+   * Gets the boost used for high frequency terms.
+   */
+  public float getHighFreqBoost() {
+    return highFreqBoost;
+  }
+  
   @Override
   public String toString(String field) {
     StringBuilder buffer = new StringBuilder();

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/682b1796/lucene/queries/src/java/org/apache/lucene/queries/TermsQuery.java
----------------------------------------------------------------------
diff --git a/lucene/queries/src/java/org/apache/lucene/queries/TermsQuery.java b/lucene/queries/src/java/org/apache/lucene/queries/TermsQuery.java
index ce99fc8..4c20571 100644
--- a/lucene/queries/src/java/org/apache/lucene/queries/TermsQuery.java
+++ b/lucene/queries/src/java/org/apache/lucene/queries/TermsQuery.java
@@ -185,6 +185,11 @@ public class TermsQuery extends Query implements Accountable {
     return 31 * super.hashCode() + termDataHashCode;
   }
 
+  /** Returns the terms wrapped in a PrefixCodedTerms. */
+  public PrefixCodedTerms getTermData() {
+    return termData;
+  }
+
   @Override
   public String toString(String defaultField) {
     StringBuilder builder = new StringBuilder();

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/682b1796/lucene/queries/src/java/org/apache/lucene/queries/function/FunctionRangeQuery.java
----------------------------------------------------------------------
diff --git a/lucene/queries/src/java/org/apache/lucene/queries/function/FunctionRangeQuery.java b/lucene/queries/src/java/org/apache/lucene/queries/function/FunctionRangeQuery.java
index 0541d39..73f0ee7 100644
--- a/lucene/queries/src/java/org/apache/lucene/queries/function/FunctionRangeQuery.java
+++ b/lucene/queries/src/java/org/apache/lucene/queries/function/FunctionRangeQuery.java
@@ -67,6 +67,26 @@ public class FunctionRangeQuery extends Query {
     this.includeUpper = includeUpper;
   }
 
+  public ValueSource getValueSource() {
+    return valueSource;
+  }
+
+  public String getLowerVal() {
+    return lowerVal;
+  }
+
+  public String getUpperVal() {
+    return upperVal;
+  }
+
+  public boolean isIncludeLower() {
+    return includeLower;
+  }
+
+  public boolean isIncludeUpper() {
+    return includeUpper;
+  }
+
   @Override
   public String toString(String field) {
     return "frange(" + valueSource + "):"

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/682b1796/lucene/sandbox/src/java/org/apache/lucene/document/LatLonPointDistanceQuery.java
----------------------------------------------------------------------
diff --git a/lucene/sandbox/src/java/org/apache/lucene/document/LatLonPointDistanceQuery.java b/lucene/sandbox/src/java/org/apache/lucene/document/LatLonPointDistanceQuery.java
index de4805b..7ac21b3 100644
--- a/lucene/sandbox/src/java/org/apache/lucene/document/LatLonPointDistanceQuery.java
+++ b/lucene/sandbox/src/java/org/apache/lucene/document/LatLonPointDistanceQuery.java
@@ -147,6 +147,22 @@ final class LatLonPointDistanceQuery extends Query {
     };
   }
 
+  public String getField() {
+    return field;
+  }
+
+  public double getLatitude() {
+    return latitude;
+  }
+
+  public double getLongitude() {
+    return longitude;
+  }
+
+  public double getRadiusMeters() {
+    return radiusMeters;
+  }
+
   @Override
   public int hashCode() {
     final int prime = 31;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/682b1796/lucene/sandbox/src/java/org/apache/lucene/document/LatLonPointInPolygonQuery.java
----------------------------------------------------------------------
diff --git a/lucene/sandbox/src/java/org/apache/lucene/document/LatLonPointInPolygonQuery.java b/lucene/sandbox/src/java/org/apache/lucene/document/LatLonPointInPolygonQuery.java
index d75e615..fb9189f 100644
--- a/lucene/sandbox/src/java/org/apache/lucene/document/LatLonPointInPolygonQuery.java
+++ b/lucene/sandbox/src/java/org/apache/lucene/document/LatLonPointInPolygonQuery.java
@@ -177,6 +177,34 @@ final class LatLonPointInPolygonQuery extends Query {
     };
   }
 
+  public String getField() {
+    return field;
+  }
+
+  public double getMinLat() {
+    return minLat;
+  }
+
+  public double getMaxLat() {
+    return maxLat;
+  }
+
+  public double getMinLon() {
+    return minLon;
+  }
+
+  public double getMaxLon() {
+    return maxLon;
+  }
+
+  public double[] getPolyLats() {
+    return polyLats;
+  }
+
+  public double[] getPolyLons() {
+    return polyLons;
+  }
+
   @Override
   public boolean equals(Object o) {
     if (this == o) return true;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/682b1796/lucene/sandbox/src/java/org/apache/lucene/search/DocValuesNumbersQuery.java
----------------------------------------------------------------------
diff --git a/lucene/sandbox/src/java/org/apache/lucene/search/DocValuesNumbersQuery.java b/lucene/sandbox/src/java/org/apache/lucene/search/DocValuesNumbersQuery.java
index d9ad4be..a2ebca1 100644
--- a/lucene/sandbox/src/java/org/apache/lucene/search/DocValuesNumbersQuery.java
+++ b/lucene/sandbox/src/java/org/apache/lucene/search/DocValuesNumbersQuery.java
@@ -75,6 +75,14 @@ public class DocValuesNumbersQuery extends Query {
     return 31 * super.hashCode() + Objects.hash(field, numbers);
   }
 
+  public String getField() {
+    return field;
+  }
+
+  public Set<Long> getNumbers() {
+    return numbers;
+  }
+
   @Override
   public String toString(String defaultField) {
     StringBuilder sb = new StringBuilder();

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/682b1796/lucene/sandbox/src/java/org/apache/lucene/search/DocValuesRangeQuery.java
----------------------------------------------------------------------
diff --git a/lucene/sandbox/src/java/org/apache/lucene/search/DocValuesRangeQuery.java b/lucene/sandbox/src/java/org/apache/lucene/search/DocValuesRangeQuery.java
index 8105968..cbdd9ba 100644
--- a/lucene/sandbox/src/java/org/apache/lucene/search/DocValuesRangeQuery.java
+++ b/lucene/sandbox/src/java/org/apache/lucene/search/DocValuesRangeQuery.java
@@ -96,6 +96,26 @@ public final class DocValuesRangeQuery extends Query {
     return 31 * super.hashCode() + Objects.hash(field, lowerVal, upperVal, includeLower, includeUpper);
   }
 
+  public String getField() {
+    return field;
+  }
+
+  public Object getLowerVal() {
+    return lowerVal;
+  }
+
+  public Object getUpperVal() {
+    return upperVal;
+  }
+
+  public boolean isIncludeLower() {
+    return includeLower;
+  }
+
+  public boolean isIncludeUpper() {
+    return includeUpper;
+  }
+
   @Override
   public String toString(String field) {
     StringBuilder sb = new StringBuilder();

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/682b1796/lucene/spatial/src/java/org/apache/lucene/spatial/geopoint/search/GeoPointTermQueryConstantScoreWrapper.java
----------------------------------------------------------------------
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/geopoint/search/GeoPointTermQueryConstantScoreWrapper.java b/lucene/spatial/src/java/org/apache/lucene/spatial/geopoint/search/GeoPointTermQueryConstantScoreWrapper.java
index c8d3e55..6eea8df 100644
--- a/lucene/spatial/src/java/org/apache/lucene/spatial/geopoint/search/GeoPointTermQueryConstantScoreWrapper.java
+++ b/lucene/spatial/src/java/org/apache/lucene/spatial/geopoint/search/GeoPointTermQueryConstantScoreWrapper.java
@@ -54,6 +54,13 @@ final class GeoPointTermQueryConstantScoreWrapper <Q extends GeoPointMultiTermQu
     this.query = query;
   }
 
+  /**
+   * Returns the encapsulated query.
+   */
+  public Q getQuery() {
+    return query;
+  }
+
   @Override
   public String toString(String field) {
     return query.toString();

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/682b1796/lucene/spatial3d/src/java/org/apache/lucene/geo3d/PointInGeo3DShapeQuery.java
----------------------------------------------------------------------
diff --git a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/PointInGeo3DShapeQuery.java b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/PointInGeo3DShapeQuery.java
index 5e4dee0..80fc15e 100644
--- a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/PointInGeo3DShapeQuery.java
+++ b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/PointInGeo3DShapeQuery.java
@@ -161,6 +161,18 @@ class PointInGeo3DShapeQuery extends Query {
     };
   }
 
+  public String getField() {
+    return field;
+  }
+
+  public PlanetModel getPlanetModel() {
+    return planetModel;
+  }
+
+  public GeoShape getShape() {
+    return shape;
+  }
+
   @Override
   @SuppressWarnings({"unchecked","rawtypes"})
   public boolean equals(Object o) {

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/682b1796/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/FuzzyCompletionQuery.java
----------------------------------------------------------------------
diff --git a/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/FuzzyCompletionQuery.java b/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/FuzzyCompletionQuery.java
index 2359e4c..5945833 100644
--- a/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/FuzzyCompletionQuery.java
+++ b/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/FuzzyCompletionQuery.java
@@ -196,6 +196,48 @@ public class FuzzyCompletionQuery extends PrefixCompletionQuery {
     }
   }
 
+  /**
+   * Get the maximum edit distance for fuzzy matches
+   */
+  public int getMaxEdits() {
+    return maxEdits;
+  }
+
+  /**
+   * Return whether transpositions count as a single edit
+   */
+  public boolean isTranspositions() {
+    return transpositions;
+  }
+
+  /**
+   * Get the length of a prefix where no edits are permitted
+   */
+  public int getNonFuzzyPrefix() {
+    return nonFuzzyPrefix;
+  }
+
+  /**
+   * Get the minimum length of a term considered for matching
+   */
+  public int getMinFuzzyLength() {
+    return minFuzzyLength;
+  }
+
+  /**
+   * Return true if lengths are measured in unicode code-points rather than bytes
+   */
+  public boolean isUnicodeAware() {
+    return unicodeAware;
+  }
+
+  /**
+   * Get the maximum number of determinized states permitted
+   */
+  public int getMaxDeterminizedStates() {
+    return maxDeterminizedStates;
+  }
+
   @Override
   public String toString(String field) {
     StringBuilder buffer = new StringBuilder();

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/682b1796/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/PrefixCompletionQuery.java
----------------------------------------------------------------------
diff --git a/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/PrefixCompletionQuery.java b/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/PrefixCompletionQuery.java
index b8fc005..29d8c2b 100644
--- a/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/PrefixCompletionQuery.java
+++ b/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/PrefixCompletionQuery.java
@@ -70,4 +70,11 @@ public class PrefixCompletionQuery extends CompletionQuery {
     CompletionTokenStream stream = (CompletionTokenStream) analyzer.tokenStream(getField(), getTerm().text());
     return new CompletionWeight(this, stream.toAutomaton());
   }
+
+  /**
+   * Gets the analyzer used to analyze the prefix.
+   */
+  public Analyzer getAnalyzer() {
+    return analyzer;
+  }
 }

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/682b1796/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/RegexCompletionQuery.java
----------------------------------------------------------------------
diff --git a/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/RegexCompletionQuery.java b/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/RegexCompletionQuery.java
index 18a643f..72bc495 100644
--- a/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/RegexCompletionQuery.java
+++ b/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/RegexCompletionQuery.java
@@ -91,4 +91,19 @@ public class RegexCompletionQuery extends CompletionQuery {
   public Weight createWeight(IndexSearcher searcher, boolean needsScores) throws IOException {
     return new CompletionWeight(this, new RegExp(getTerm().text(), flags).toAutomaton(maxDeterminizedStates));
   }
+
+  /**
+   * Get the regex flags
+   */
+  public int getFlags() {
+    return flags;
+  }
+
+  /**
+   * Get the maximum number of states permitted in the determinized automaton
+   */
+  public int getMaxDeterminizedStates() {
+    return maxDeterminizedStates;
+  }
+
 }

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/682b1796/lucene/test-framework/src/java/org/apache/lucene/search/AssertingQuery.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/search/AssertingQuery.java b/lucene/test-framework/src/java/org/apache/lucene/search/AssertingQuery.java
index 1dfc97b..a676602 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/search/AssertingQuery.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/search/AssertingQuery.java
@@ -62,6 +62,14 @@ public final class AssertingQuery extends Query {
     return -in.hashCode();
   }
 
+  public Random getRandom() {
+    return random;
+  }
+
+  public Query getIn() {
+    return in;
+  }
+
   @Override
   public Query rewrite(IndexReader reader) throws IOException {
     final Query rewritten = in.rewrite(reader);