incubator-blur-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From amccu...@apache.org
Subject git commit: Added some more documentation to the thrift API.
Date Wed, 28 Nov 2012 03:50:51 GMT
Updated Branches:
  refs/heads/0.2-dev-removing-old-thrift 46d9a00c3 -> aee98432d


Added some more documentation to the thrift API.


Project: http://git-wip-us.apache.org/repos/asf/incubator-blur/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-blur/commit/aee98432
Tree: http://git-wip-us.apache.org/repos/asf/incubator-blur/tree/aee98432
Diff: http://git-wip-us.apache.org/repos/asf/incubator-blur/diff/aee98432

Branch: refs/heads/0.2-dev-removing-old-thrift
Commit: aee98432de932d12643a5dd2e4a4b7c2f217a3a9
Parents: 46d9a00
Author: Aaron McCurry <amccurry@gmail.com>
Authored: Tue Nov 27 22:50:11 2012 -0500
Committer: Aaron McCurry <amccurry@gmail.com>
Committed: Tue Nov 27 22:50:11 2012 -0500

----------------------------------------------------------------------
 interface/Blur.thrift                              |  107 +++++++++++-
 interface/gen-html/Blur.html                       |   78 ++++++---
 .../org/apache/blur/thrift/generated/Analyzer.java |   18 ++
 .../blur/thrift/generated/AnalyzerSubType.java     |  130 +++++++++------
 .../apache/blur/thrift/generated/AnalyzerType.java |   51 ++++++
 .../org/apache/blur/thrift/generated/Blur.java     |   11 +-
 .../apache/blur/thrift/generated/Generation.java   |   40 +++++
 .../org/apache/blur/thrift/generated/TYPE.java     |   53 +++++--
 interface/gen-perl/Blur/Types.pm                   |   30 ++--
 interface/gen-rb/blur_types.rb                     |   57 +++++--
 .../org/apache/blur/thrift/generated/Analyzer.java |   18 ++
 .../blur/thrift/generated/AnalyzerSubType.java     |  130 +++++++++------
 .../apache/blur/thrift/generated/AnalyzerType.java |   51 ++++++
 .../org/apache/blur/thrift/generated/Blur.java     |   11 +-
 .../apache/blur/thrift/generated/Generation.java   |   40 +++++
 .../org/apache/blur/thrift/generated/TYPE.java     |   53 +++++--
 16 files changed, 689 insertions(+), 189 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/aee98432/interface/Blur.thrift
----------------------------------------------------------------------
diff --git a/interface/Blur.thrift b/interface/Blur.thrift
index 9d1f4a3..6394145 100644
--- a/interface/Blur.thrift
+++ b/interface/Blur.thrift
@@ -47,8 +47,45 @@ enum QueryState {
   COMPLETE
 }
 
+/**
+ * The fields types.
+ */
 enum TYPE {
-  STRING, INT, LONG, FLOAT, DOUBLE, BINARY, TEXT
+  /**
+   * This type uses the StandardAnalyzer for indexing and stores the value.
+   */
+  TEXT,
+
+  /**
+   * This type is indexed as a String (Lucene StringField) as provided and stores the value.
+   * NOTE: The String is not tokenized, so the String is indexed as a single value.
+   */
+  STRING,
+
+  /**
+   * This type is indexed as an Integer (Lucene IntegerField) as provided and stores the value.
+   */
+  INT,
+
+  /**
+   * This type is indexed as an Long (Lucene LongField) as provided and stores the value.
+   */
+  LONG,
+
+  /**
+   * This type is indexed as an Float (Lucene FloatField) as provided and stores the value.
+   */
+  FLOAT,
+
+  /**
+   * This type is indexed as an Double (Lucene DoubleField) as provided and stores the value.
+   */
+  DOUBLE,
+
+  /**
+   * This type is NOT indexed but stores the value.
+   */
+  BINARY
 }
 
 enum SortType {
@@ -182,18 +219,59 @@ struct ClassDefinition {
  2:map<string,binary> arguments
 }
 
+/**
+ * The analyzer sub type struct holds the sub field name and class definition of 
+ * the sub type.  See AnalyzerType for further explanation.
+ */
 struct AnalyzerSubType {
- 1:string fieldName,
+ /**
+  * The sub field name.
+  */
+ 1:string subFieldName,
+
+ /**
+  * The class definition that is to be used.
+  */
  2:ClassDefinition classDefinition
 }
 
+/**
+ * The Analyzer struct allows for defining an alternate analyzer class definition 
+ * with optional analyzer sub types.  The sub types allow for indexing a single field 
+ * with several different analyzer while only storing the value once.  For example, if 
+ * field "name" was a TEXT type the class definition could be set to Lowercase 
+ * analyzer and the analyzer sub types could be set to Keyword (with a sub field name 
+ * of "key") and Standard analyzer (with a sub field name of "standard").  Then in 
+ * queries the Lowercase analyzer would be used when "name" is referenced, Keyword 
+ * analyzer would be referenced when "name.key" is referenced and Standard analyzer 
+ * would be referenced when "name.standard" is referenced.
+ */
 struct AnalyzerType {
+ /**
+  * The field that this defined type is to operate against.
+  */
  1:string fieldName,
+ /**
+  * The class definition that is to be used.  If this field is null then the 
+  * default behavior of the field is to be used.
+  */
  2:ClassDefinition classDefinition,
+ /**
+  * The analyzer sub types that should be applied.  This can be empty or null.
+  */
  3:list<AnalyzerSubType> analyzerSubTypes
 }
 
+/**
+ * The analyzer allows for defining of alternate analyzers for the given fields.  The TYPE 
+ * enum defines the default field types and the default indexing behavior for each.  The 
+ * Analyzer struct allows for defining alternate behavior.  Such as a field with a TEXT 
+ * type using a Lowercase Analyzer instead of the default StandardAnalyzer.
+ */
 struct Analyzer {
+ /**
+  * The list of AnalyzerTypes.
+  */
  1:list<AnalyzerType> analyzerTypes
 }
 
@@ -348,9 +426,22 @@ struct UpdatePackage {
  2:list<Document> documents
 }
 
+/**
+ * Generation keeps a reference to the Lucene generation where a mutate (add/update/delete) 
+ * was performed.  This can be used to wait for that generation to be visible.
+ */
 struct Generation {
+ /**
+  * The table name for this generation.
+  */
  1:string table,
+ /**
+  * The shard index for this generation.
+  */
  2:i32 shardIndex,
+ /**
+  * The Lucene generation.
+  */
  3:i64 generation
 }
 
@@ -418,13 +509,17 @@ service Blur {
    */
   list<Generation> updateDocuments(1:MutateOptions options, 2:list<UpdatePackage> updatePackages) throws (1:BlurException e)
 
+  /**
+   * This method blocks until all the given generations are visible for reading.
+   * @param generations the list of Generation objects.
+   * @param forceRefresh forces a refresh of the indexes if true, if false will block until natural refresh occurs.
+   */
   void blockUntilGenerationIsVisible(1:list<Generation> generations, 2:bool forceRefresh) throws (1:BlurException e)
 
   // Cluster state.
 
   /**
-   * Returns a list of all the shard servers for the given cluster.
-   * @param cluster the cluster name.
+   * Returns a list of all current running servers.
    * @return list of servers, e.g. node1:40020.
    */
   list<string> serverList() throws (1:BlurException ex)
@@ -506,8 +601,10 @@ service Blur {
    */
   QueryStatus queryStatus(1:Session session, 2:i64 id) throws (1:BlurException ex)
 
-  
+  //TODO
   LiveSchema schema(1:string table) throws (1:BlurException ex)
+
+  //TODO
   TableStats tableStats(1:string table) throws (1:BlurException ex)
   
 }

http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/aee98432/interface/gen-html/Blur.html
----------------------------------------------------------------------
diff --git a/interface/gen-html/Blur.html b/interface/gen-html/Blur.html
index 5b0df66..13aae31 100644
--- a/interface/gen-html/Blur.html
+++ b/interface/gen-html/Blur.html
@@ -76,14 +76,15 @@ COMPLETE - Query is complete.<br/>
 <tr><td><code>COMPLETE</code></td><td><code>2</code></td></tr>
 </table></div>
 <div class="definition"><h3 id="Enum_TYPE">Enumeration: TYPE</h3>
-<br/><table class="table-bordered table-striped table-condensed">
-<tr><td><code>STRING</code></td><td><code>0</code></td></tr>
-<tr><td><code>INT</code></td><td><code>1</code></td></tr>
-<tr><td><code>LONG</code></td><td><code>2</code></td></tr>
-<tr><td><code>FLOAT</code></td><td><code>3</code></td></tr>
-<tr><td><code>DOUBLE</code></td><td><code>4</code></td></tr>
-<tr><td><code>BINARY</code></td><td><code>5</code></td></tr>
-<tr><td><code>TEXT</code></td><td><code>6</code></td></tr>
+The fields types.
+<br/><br/><table class="table-bordered table-striped table-condensed">
+<tr><td><code>TEXT</code></td><td><code>0</code></td></tr>
+<tr><td><code>STRING</code></td><td><code>1</code></td></tr>
+<tr><td><code>INT</code></td><td><code>2</code></td></tr>
+<tr><td><code>LONG</code></td><td><code>3</code></td></tr>
+<tr><td><code>FLOAT</code></td><td><code>4</code></td></tr>
+<tr><td><code>DOUBLE</code></td><td><code>5</code></td></tr>
+<tr><td><code>BINARY</code></td><td><code>6</code></td></tr>
 </table></div>
 <div class="definition"><h3 id="Enum_SortType">Enumeration: SortType</h3>
 <br/><table class="table-bordered table-striped table-condensed">
@@ -148,17 +149,39 @@ trace (if any).
 <tr><td>2</td><td>arguments</td><td><code>map&lt;<code>string</code>, <code>binary</code>&gt;</code></td><td></td><td>default</td><td></td></tr>
 </table><br/></div><div class="definition"><h3 id="Struct_AnalyzerSubType">Struct: AnalyzerSubType</h3>
 <table class="table-bordered table-striped table-condensed"><thead><th>Key</th><th>Field</th><th>Type</th><th>Description</th><th>Requiredness</th><th>Default value</th></thead>
-<tr><td>1</td><td>fieldName</td><td><code>string</code></td><td></td><td>default</td><td></td></tr>
-<tr><td>2</td><td>classDefinition</td><td><code><a href="Blur.html#Struct_ClassDefinition">ClassDefinition</a></code></td><td></td><td>default</td><td></td></tr>
-</table><br/></div><div class="definition"><h3 id="Struct_AnalyzerType">Struct: AnalyzerType</h3>
+<tr><td>1</td><td>subFieldName</td><td><code>string</code></td><td>The sub field name.
+</td><td>default</td><td></td></tr>
+<tr><td>2</td><td>classDefinition</td><td><code><a href="Blur.html#Struct_ClassDefinition">ClassDefinition</a></code></td><td>The class definition that is to be used.
+</td><td>default</td><td></td></tr>
+</table><br/>The analyzer sub type struct holds the sub field name and class definition of
+the sub type.  See AnalyzerType for further explanation.
+<br/></div><div class="definition"><h3 id="Struct_AnalyzerType">Struct: AnalyzerType</h3>
 <table class="table-bordered table-striped table-condensed"><thead><th>Key</th><th>Field</th><th>Type</th><th>Description</th><th>Requiredness</th><th>Default value</th></thead>
-<tr><td>1</td><td>fieldName</td><td><code>string</code></td><td></td><td>default</td><td></td></tr>
-<tr><td>2</td><td>classDefinition</td><td><code><a href="Blur.html#Struct_ClassDefinition">ClassDefinition</a></code></td><td></td><td>default</td><td></td></tr>
-<tr><td>3</td><td>analyzerSubTypes</td><td><code>list&lt;<code><a href="Blur.html#Struct_AnalyzerSubType">AnalyzerSubType</a></code>&gt;</code></td><td></td><td>default</td><td></td></tr>
-</table><br/></div><div class="definition"><h3 id="Struct_Analyzer">Struct: Analyzer</h3>
+<tr><td>1</td><td>fieldName</td><td><code>string</code></td><td>The field that this defined type is to operate against.
+</td><td>default</td><td></td></tr>
+<tr><td>2</td><td>classDefinition</td><td><code><a href="Blur.html#Struct_ClassDefinition">ClassDefinition</a></code></td><td>The class definition that is to be used.  If this field is null then the
+default behavior of the field is to be used.
+</td><td>default</td><td></td></tr>
+<tr><td>3</td><td>analyzerSubTypes</td><td><code>list&lt;<code><a href="Blur.html#Struct_AnalyzerSubType">AnalyzerSubType</a></code>&gt;</code></td><td>The analyzer sub types that should be applied.  This can be empty or null.
+</td><td>default</td><td></td></tr>
+</table><br/>The Analyzer struct allows for defining an alternate analyzer class definition
+with optional analyzer sub types.  The sub types allow for indexing a single field
+with several different analyzer while only storing the value once.  For example, if
+field "name" was a TEXT type the class definition could be set to Lowercase
+analyzer and the analyzer sub types could be set to Keyword (with a sub field name
+of "key") and Standard analyzer (with a sub field name of "standard").  Then in
+queries the Lowercase analyzer would be used when "name" is referenced, Keyword
+analyzer would be referenced when "name.key" is referenced and Standard analyzer
+would be referenced when "name.standard" is referenced.
+<br/></div><div class="definition"><h3 id="Struct_Analyzer">Struct: Analyzer</h3>
 <table class="table-bordered table-striped table-condensed"><thead><th>Key</th><th>Field</th><th>Type</th><th>Description</th><th>Requiredness</th><th>Default value</th></thead>
-<tr><td>1</td><td>analyzerTypes</td><td><code>list&lt;<code><a href="Blur.html#Struct_AnalyzerType">AnalyzerType</a></code>&gt;</code></td><td></td><td>default</td><td></td></tr>
-</table><br/></div><div class="definition"><h3 id="Struct_TableDescriptor">Struct: TableDescriptor</h3>
+<tr><td>1</td><td>analyzerTypes</td><td><code>list&lt;<code><a href="Blur.html#Struct_AnalyzerType">AnalyzerType</a></code>&gt;</code></td><td>The list of AnalyzerTypes.
+</td><td>default</td><td></td></tr>
+</table><br/>The analyzer allows for defining of alternate analyzers for the given fields.  The TYPE
+enum defines the default field types and the default indexing behavior for each.  The
+Analyzer struct allows for defining alternate behavior.  Such as a field with a TEXT
+type using a Lowercase Analyzer instead of the default StandardAnalyzer.
+<br/></div><div class="definition"><h3 id="Struct_TableDescriptor">Struct: TableDescriptor</h3>
 <table class="table-bordered table-striped table-condensed"><thead><th>Key</th><th>Field</th><th>Type</th><th>Description</th><th>Requiredness</th><th>Default value</th></thead>
 <tr><td>1</td><td>name</td><td><code>string</code></td><td>
 </td><td>default</td><td></td></tr>
@@ -249,10 +272,15 @@ trace (if any).
 </table><br/>Contains a the delete term as well as the documents that will be added to the index shard.
 <br/></div><div class="definition"><h3 id="Struct_Generation">Struct: Generation</h3>
 <table class="table-bordered table-striped table-condensed"><thead><th>Key</th><th>Field</th><th>Type</th><th>Description</th><th>Requiredness</th><th>Default value</th></thead>
-<tr><td>1</td><td>table</td><td><code>string</code></td><td></td><td>default</td><td></td></tr>
-<tr><td>2</td><td>shardIndex</td><td><code>i32</code></td><td></td><td>default</td><td></td></tr>
-<tr><td>3</td><td>generation</td><td><code>i64</code></td><td></td><td>default</td><td></td></tr>
-</table><br/></div><hr/><h2 id="Services">Services</h2>
+<tr><td>1</td><td>table</td><td><code>string</code></td><td>The table name for this generation.
+</td><td>default</td><td></td></tr>
+<tr><td>2</td><td>shardIndex</td><td><code>i32</code></td><td>The shard index for this generation.
+</td><td>default</td><td></td></tr>
+<tr><td>3</td><td>generation</td><td><code>i64</code></td><td>The Lucene generation.
+</td><td>default</td><td></td></tr>
+</table><br/>Generation keeps a reference to the Lucene generation where a mutate (add/update/delete)
+was performed.  This can be used to wait for that generation to be visible.
+<br/></div><hr/><h2 id="Services">Services</h2>
 <h3 id="Svc_Blur">Service: Blur</h3>
 <div class="definition"><h4 id="Fn_Blur_openReadSession">Function: Blur.openReadSession</h4>
 <pre><code><a href="Blur.html#Struct_Session">Session</a></code> openReadSession(<code>string</code> table)
@@ -315,11 +343,13 @@ trace (if any).
 <pre><code>void</code> blockUntilGenerationIsVisible(<code>list&lt;<code><a href="Blur.html#Struct_Generation">Generation</a></code>&gt;</code> generations,
                                    <code>bool</code> forceRefresh)
     throws <code><a href="Blur.html#Struct_BlurException">BlurException</a></code>
-</pre></div><div class="definition"><h4 id="Fn_Blur_serverList">Function: Blur.serverList</h4>
+</pre>This method blocks until all the given generations are visible for reading.
+@param generations the list of Generation objects.
+@param forceRefresh forces a refresh of the indexes if true, if false will block until natural refresh occurs.
+<br/></div><div class="definition"><h4 id="Fn_Blur_serverList">Function: Blur.serverList</h4>
 <pre><code>list&lt;<code>string</code>&gt;</code> serverList()
     throws <code><a href="Blur.html#Struct_BlurException">BlurException</a></code>
-</pre>Returns a list of all the shard servers for the given cluster.
-@param cluster the cluster name.
+</pre>Returns a list of all current running servers.
 @return list of servers, e.g. node1:40020.
 <br/></div><div class="definition"><h4 id="Fn_Blur_serverLayout">Function: Blur.serverLayout</h4>
 <pre><code>list&lt;<code>i32</code>&gt;</code> serverLayout(<code>string</code> table,

http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/aee98432/interface/gen-java/org/apache/blur/thrift/generated/Analyzer.java
----------------------------------------------------------------------
diff --git a/interface/gen-java/org/apache/blur/thrift/generated/Analyzer.java b/interface/gen-java/org/apache/blur/thrift/generated/Analyzer.java
index d6fd0e7..ef6c001 100644
--- a/interface/gen-java/org/apache/blur/thrift/generated/Analyzer.java
+++ b/interface/gen-java/org/apache/blur/thrift/generated/Analyzer.java
@@ -49,6 +49,12 @@ import java.util.Arrays;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+/**
+ * The analyzer allows for defining of alternate analyzers for the given fields.  The TYPE
+ * enum defines the default field types and the default indexing behavior for each.  The
+ * Analyzer struct allows for defining alternate behavior.  Such as a field with a TEXT
+ * type using a Lowercase Analyzer instead of the default StandardAnalyzer.
+ */
 public class Analyzer implements org.apache.thrift.TBase<Analyzer, Analyzer._Fields>, java.io.Serializable, Cloneable {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("Analyzer");
 
@@ -60,10 +66,16 @@ public class Analyzer implements org.apache.thrift.TBase<Analyzer, Analyzer._Fie
     schemes.put(TupleScheme.class, new AnalyzerTupleSchemeFactory());
   }
 
+  /**
+   * The list of AnalyzerTypes.
+   */
   public List<AnalyzerType> analyzerTypes; // required
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
   public enum _Fields implements org.apache.thrift.TFieldIdEnum {
+    /**
+     * The list of AnalyzerTypes.
+     */
     ANALYZER_TYPES((short)1, "analyzerTypes");
 
     private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
@@ -178,10 +190,16 @@ public class Analyzer implements org.apache.thrift.TBase<Analyzer, Analyzer._Fie
     this.analyzerTypes.add(elem);
   }
 
+  /**
+   * The list of AnalyzerTypes.
+   */
   public List<AnalyzerType> getAnalyzerTypes() {
     return this.analyzerTypes;
   }
 
+  /**
+   * The list of AnalyzerTypes.
+   */
   public Analyzer setAnalyzerTypes(List<AnalyzerType> analyzerTypes) {
     this.analyzerTypes = analyzerTypes;
     return this;

http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/aee98432/interface/gen-java/org/apache/blur/thrift/generated/AnalyzerSubType.java
----------------------------------------------------------------------
diff --git a/interface/gen-java/org/apache/blur/thrift/generated/AnalyzerSubType.java b/interface/gen-java/org/apache/blur/thrift/generated/AnalyzerSubType.java
index 36d7374..d9b7455 100644
--- a/interface/gen-java/org/apache/blur/thrift/generated/AnalyzerSubType.java
+++ b/interface/gen-java/org/apache/blur/thrift/generated/AnalyzerSubType.java
@@ -49,10 +49,14 @@ import java.util.Arrays;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+/**
+ * The analyzer sub type struct holds the sub field name and class definition of
+ * the sub type.  See AnalyzerType for further explanation.
+ */
 public class AnalyzerSubType implements org.apache.thrift.TBase<AnalyzerSubType, AnalyzerSubType._Fields>, java.io.Serializable, Cloneable {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("AnalyzerSubType");
 
-  private static final org.apache.thrift.protocol.TField FIELD_NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("fieldName", org.apache.thrift.protocol.TType.STRING, (short)1);
+  private static final org.apache.thrift.protocol.TField SUB_FIELD_NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("subFieldName", org.apache.thrift.protocol.TType.STRING, (short)1);
   private static final org.apache.thrift.protocol.TField CLASS_DEFINITION_FIELD_DESC = new org.apache.thrift.protocol.TField("classDefinition", org.apache.thrift.protocol.TType.STRUCT, (short)2);
 
   private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
@@ -61,12 +65,24 @@ public class AnalyzerSubType implements org.apache.thrift.TBase<AnalyzerSubType,
     schemes.put(TupleScheme.class, new AnalyzerSubTypeTupleSchemeFactory());
   }
 
-  public String fieldName; // required
+  /**
+   * The sub field name.
+   */
+  public String subFieldName; // required
+  /**
+   * The class definition that is to be used.
+   */
   public ClassDefinition classDefinition; // required
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
   public enum _Fields implements org.apache.thrift.TFieldIdEnum {
-    FIELD_NAME((short)1, "fieldName"),
+    /**
+     * The sub field name.
+     */
+    SUB_FIELD_NAME((short)1, "subFieldName"),
+    /**
+     * The class definition that is to be used.
+     */
     CLASS_DEFINITION((short)2, "classDefinition");
 
     private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
@@ -82,8 +98,8 @@ public class AnalyzerSubType implements org.apache.thrift.TBase<AnalyzerSubType,
      */
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
-        case 1: // FIELD_NAME
-          return FIELD_NAME;
+        case 1: // SUB_FIELD_NAME
+          return SUB_FIELD_NAME;
         case 2: // CLASS_DEFINITION
           return CLASS_DEFINITION;
         default:
@@ -129,7 +145,7 @@ public class AnalyzerSubType implements org.apache.thrift.TBase<AnalyzerSubType,
   public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
   static {
     Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
-    tmpMap.put(_Fields.FIELD_NAME, new org.apache.thrift.meta_data.FieldMetaData("fieldName", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+    tmpMap.put(_Fields.SUB_FIELD_NAME, new org.apache.thrift.meta_data.FieldMetaData("subFieldName", org.apache.thrift.TFieldRequirementType.DEFAULT, 
         new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
     tmpMap.put(_Fields.CLASS_DEFINITION, new org.apache.thrift.meta_data.FieldMetaData("classDefinition", org.apache.thrift.TFieldRequirementType.DEFAULT, 
         new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, ClassDefinition.class)));
@@ -141,11 +157,11 @@ public class AnalyzerSubType implements org.apache.thrift.TBase<AnalyzerSubType,
   }
 
   public AnalyzerSubType(
-    String fieldName,
+    String subFieldName,
     ClassDefinition classDefinition)
   {
     this();
-    this.fieldName = fieldName;
+    this.subFieldName = subFieldName;
     this.classDefinition = classDefinition;
   }
 
@@ -153,8 +169,8 @@ public class AnalyzerSubType implements org.apache.thrift.TBase<AnalyzerSubType,
    * Performs a deep copy on <i>other</i>.
    */
   public AnalyzerSubType(AnalyzerSubType other) {
-    if (other.isSetFieldName()) {
-      this.fieldName = other.fieldName;
+    if (other.isSetSubFieldName()) {
+      this.subFieldName = other.subFieldName;
     }
     if (other.isSetClassDefinition()) {
       this.classDefinition = new ClassDefinition(other.classDefinition);
@@ -167,38 +183,50 @@ public class AnalyzerSubType implements org.apache.thrift.TBase<AnalyzerSubType,
 
   @Override
   public void clear() {
-    this.fieldName = null;
+    this.subFieldName = null;
     this.classDefinition = null;
   }
 
-  public String getFieldName() {
-    return this.fieldName;
+  /**
+   * The sub field name.
+   */
+  public String getSubFieldName() {
+    return this.subFieldName;
   }
 
-  public AnalyzerSubType setFieldName(String fieldName) {
-    this.fieldName = fieldName;
+  /**
+   * The sub field name.
+   */
+  public AnalyzerSubType setSubFieldName(String subFieldName) {
+    this.subFieldName = subFieldName;
     return this;
   }
 
-  public void unsetFieldName() {
-    this.fieldName = null;
+  public void unsetSubFieldName() {
+    this.subFieldName = null;
   }
 
-  /** Returns true if field fieldName is set (has been assigned a value) and false otherwise */
-  public boolean isSetFieldName() {
-    return this.fieldName != null;
+  /** Returns true if field subFieldName is set (has been assigned a value) and false otherwise */
+  public boolean isSetSubFieldName() {
+    return this.subFieldName != null;
   }
 
-  public void setFieldNameIsSet(boolean value) {
+  public void setSubFieldNameIsSet(boolean value) {
     if (!value) {
-      this.fieldName = null;
+      this.subFieldName = null;
     }
   }
 
+  /**
+   * The class definition that is to be used.
+   */
   public ClassDefinition getClassDefinition() {
     return this.classDefinition;
   }
 
+  /**
+   * The class definition that is to be used.
+   */
   public AnalyzerSubType setClassDefinition(ClassDefinition classDefinition) {
     this.classDefinition = classDefinition;
     return this;
@@ -221,11 +249,11 @@ public class AnalyzerSubType implements org.apache.thrift.TBase<AnalyzerSubType,
 
   public void setFieldValue(_Fields field, Object value) {
     switch (field) {
-    case FIELD_NAME:
+    case SUB_FIELD_NAME:
       if (value == null) {
-        unsetFieldName();
+        unsetSubFieldName();
       } else {
-        setFieldName((String)value);
+        setSubFieldName((String)value);
       }
       break;
 
@@ -242,8 +270,8 @@ public class AnalyzerSubType implements org.apache.thrift.TBase<AnalyzerSubType,
 
   public Object getFieldValue(_Fields field) {
     switch (field) {
-    case FIELD_NAME:
-      return getFieldName();
+    case SUB_FIELD_NAME:
+      return getSubFieldName();
 
     case CLASS_DEFINITION:
       return getClassDefinition();
@@ -259,8 +287,8 @@ public class AnalyzerSubType implements org.apache.thrift.TBase<AnalyzerSubType,
     }
 
     switch (field) {
-    case FIELD_NAME:
-      return isSetFieldName();
+    case SUB_FIELD_NAME:
+      return isSetSubFieldName();
     case CLASS_DEFINITION:
       return isSetClassDefinition();
     }
@@ -280,12 +308,12 @@ public class AnalyzerSubType implements org.apache.thrift.TBase<AnalyzerSubType,
     if (that == null)
       return false;
 
-    boolean this_present_fieldName = true && this.isSetFieldName();
-    boolean that_present_fieldName = true && that.isSetFieldName();
-    if (this_present_fieldName || that_present_fieldName) {
-      if (!(this_present_fieldName && that_present_fieldName))
+    boolean this_present_subFieldName = true && this.isSetSubFieldName();
+    boolean that_present_subFieldName = true && that.isSetSubFieldName();
+    if (this_present_subFieldName || that_present_subFieldName) {
+      if (!(this_present_subFieldName && that_present_subFieldName))
         return false;
-      if (!this.fieldName.equals(that.fieldName))
+      if (!this.subFieldName.equals(that.subFieldName))
         return false;
     }
 
@@ -314,12 +342,12 @@ public class AnalyzerSubType implements org.apache.thrift.TBase<AnalyzerSubType,
     int lastComparison = 0;
     AnalyzerSubType typedOther = (AnalyzerSubType)other;
 
-    lastComparison = Boolean.valueOf(isSetFieldName()).compareTo(typedOther.isSetFieldName());
+    lastComparison = Boolean.valueOf(isSetSubFieldName()).compareTo(typedOther.isSetSubFieldName());
     if (lastComparison != 0) {
       return lastComparison;
     }
-    if (isSetFieldName()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.fieldName, typedOther.fieldName);
+    if (isSetSubFieldName()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.subFieldName, typedOther.subFieldName);
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -354,11 +382,11 @@ public class AnalyzerSubType implements org.apache.thrift.TBase<AnalyzerSubType,
     StringBuilder sb = new StringBuilder("AnalyzerSubType(");
     boolean first = true;
 
-    sb.append("fieldName:");
-    if (this.fieldName == null) {
+    sb.append("subFieldName:");
+    if (this.subFieldName == null) {
       sb.append("null");
     } else {
-      sb.append(this.fieldName);
+      sb.append(this.subFieldName);
     }
     first = false;
     if (!first) sb.append(", ");
@@ -415,10 +443,10 @@ public class AnalyzerSubType implements org.apache.thrift.TBase<AnalyzerSubType,
           break;
         }
         switch (schemeField.id) {
-          case 1: // FIELD_NAME
+          case 1: // SUB_FIELD_NAME
             if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-              struct.fieldName = iprot.readString();
-              struct.setFieldNameIsSet(true);
+              struct.subFieldName = iprot.readString();
+              struct.setSubFieldNameIsSet(true);
             } else { 
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
@@ -447,9 +475,9 @@ public class AnalyzerSubType implements org.apache.thrift.TBase<AnalyzerSubType,
       struct.validate();
 
       oprot.writeStructBegin(STRUCT_DESC);
-      if (struct.fieldName != null) {
-        oprot.writeFieldBegin(FIELD_NAME_FIELD_DESC);
-        oprot.writeString(struct.fieldName);
+      if (struct.subFieldName != null) {
+        oprot.writeFieldBegin(SUB_FIELD_NAME_FIELD_DESC);
+        oprot.writeString(struct.subFieldName);
         oprot.writeFieldEnd();
       }
       if (struct.classDefinition != null) {
@@ -475,15 +503,15 @@ public class AnalyzerSubType implements org.apache.thrift.TBase<AnalyzerSubType,
     public void write(org.apache.thrift.protocol.TProtocol prot, AnalyzerSubType struct) throws org.apache.thrift.TException {
       TTupleProtocol oprot = (TTupleProtocol) prot;
       BitSet optionals = new BitSet();
-      if (struct.isSetFieldName()) {
+      if (struct.isSetSubFieldName()) {
         optionals.set(0);
       }
       if (struct.isSetClassDefinition()) {
         optionals.set(1);
       }
       oprot.writeBitSet(optionals, 2);
-      if (struct.isSetFieldName()) {
-        oprot.writeString(struct.fieldName);
+      if (struct.isSetSubFieldName()) {
+        oprot.writeString(struct.subFieldName);
       }
       if (struct.isSetClassDefinition()) {
         struct.classDefinition.write(oprot);
@@ -495,8 +523,8 @@ public class AnalyzerSubType implements org.apache.thrift.TBase<AnalyzerSubType,
       TTupleProtocol iprot = (TTupleProtocol) prot;
       BitSet incoming = iprot.readBitSet(2);
       if (incoming.get(0)) {
-        struct.fieldName = iprot.readString();
-        struct.setFieldNameIsSet(true);
+        struct.subFieldName = iprot.readString();
+        struct.setSubFieldNameIsSet(true);
       }
       if (incoming.get(1)) {
         struct.classDefinition = new ClassDefinition();

http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/aee98432/interface/gen-java/org/apache/blur/thrift/generated/AnalyzerType.java
----------------------------------------------------------------------
diff --git a/interface/gen-java/org/apache/blur/thrift/generated/AnalyzerType.java b/interface/gen-java/org/apache/blur/thrift/generated/AnalyzerType.java
index f4347b4..aec8238 100644
--- a/interface/gen-java/org/apache/blur/thrift/generated/AnalyzerType.java
+++ b/interface/gen-java/org/apache/blur/thrift/generated/AnalyzerType.java
@@ -49,6 +49,17 @@ import java.util.Arrays;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+/**
+ * The Analyzer struct allows for defining an alternate analyzer class definition
+ * with optional analyzer sub types.  The sub types allow for indexing a single field
+ * with several different analyzer while only storing the value once.  For example, if
+ * field "name" was a TEXT type the class definition could be set to Lowercase
+ * analyzer and the analyzer sub types could be set to Keyword (with a sub field name
+ * of "key") and Standard analyzer (with a sub field name of "standard").  Then in
+ * queries the Lowercase analyzer would be used when "name" is referenced, Keyword
+ * analyzer would be referenced when "name.key" is referenced and Standard analyzer
+ * would be referenced when "name.standard" is referenced.
+ */
 public class AnalyzerType implements org.apache.thrift.TBase<AnalyzerType, AnalyzerType._Fields>, java.io.Serializable, Cloneable {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("AnalyzerType");
 
@@ -62,14 +73,34 @@ public class AnalyzerType implements org.apache.thrift.TBase<AnalyzerType, Analy
     schemes.put(TupleScheme.class, new AnalyzerTypeTupleSchemeFactory());
   }
 
+  /**
+   * The field that this defined type is to operate against.
+   */
   public String fieldName; // required
+  /**
+   * The class definition that is to be used.  If this field is null then the
+   * default behavior of the field is to be used.
+   */
   public ClassDefinition classDefinition; // required
+  /**
+   * The analyzer sub types that should be applied.  This can be empty or null.
+   */
   public List<AnalyzerSubType> analyzerSubTypes; // required
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
   public enum _Fields implements org.apache.thrift.TFieldIdEnum {
+    /**
+     * The field that this defined type is to operate against.
+     */
     FIELD_NAME((short)1, "fieldName"),
+    /**
+     * The class definition that is to be used.  If this field is null then the
+     * default behavior of the field is to be used.
+     */
     CLASS_DEFINITION((short)2, "classDefinition"),
+    /**
+     * The analyzer sub types that should be applied.  This can be empty or null.
+     */
     ANALYZER_SUB_TYPES((short)3, "analyzerSubTypes");
 
     private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
@@ -189,10 +220,16 @@ public class AnalyzerType implements org.apache.thrift.TBase<AnalyzerType, Analy
     this.analyzerSubTypes = null;
   }
 
+  /**
+   * The field that this defined type is to operate against.
+   */
   public String getFieldName() {
     return this.fieldName;
   }
 
+  /**
+   * The field that this defined type is to operate against.
+   */
   public AnalyzerType setFieldName(String fieldName) {
     this.fieldName = fieldName;
     return this;
@@ -213,10 +250,18 @@ public class AnalyzerType implements org.apache.thrift.TBase<AnalyzerType, Analy
     }
   }
 
+  /**
+   * The class definition that is to be used.  If this field is null then the
+   * default behavior of the field is to be used.
+   */
   public ClassDefinition getClassDefinition() {
     return this.classDefinition;
   }
 
+  /**
+   * The class definition that is to be used.  If this field is null then the
+   * default behavior of the field is to be used.
+   */
   public AnalyzerType setClassDefinition(ClassDefinition classDefinition) {
     this.classDefinition = classDefinition;
     return this;
@@ -252,10 +297,16 @@ public class AnalyzerType implements org.apache.thrift.TBase<AnalyzerType, Analy
     this.analyzerSubTypes.add(elem);
   }
 
+  /**
+   * The analyzer sub types that should be applied.  This can be empty or null.
+   */
   public List<AnalyzerSubType> getAnalyzerSubTypes() {
     return this.analyzerSubTypes;
   }
 
+  /**
+   * The analyzer sub types that should be applied.  This can be empty or null.
+   */
   public AnalyzerType setAnalyzerSubTypes(List<AnalyzerSubType> analyzerSubTypes) {
     this.analyzerSubTypes = analyzerSubTypes;
     return this;

http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/aee98432/interface/gen-java/org/apache/blur/thrift/generated/Blur.java
----------------------------------------------------------------------
diff --git a/interface/gen-java/org/apache/blur/thrift/generated/Blur.java b/interface/gen-java/org/apache/blur/thrift/generated/Blur.java
index 68f0e1b..dc00f8e 100644
--- a/interface/gen-java/org/apache/blur/thrift/generated/Blur.java
+++ b/interface/gen-java/org/apache/blur/thrift/generated/Blur.java
@@ -134,11 +134,18 @@ public class Blur {
      */
     public List<Generation> updateDocuments(MutateOptions options, List<UpdatePackage> updatePackages) throws BlurException, org.apache.thrift.TException;
 
+    /**
+     * This method blocks until all the given generations are visible for reading.
+     * @param generations the list of Generation objects.
+     * @param forceRefresh forces a refresh of the indexes if true, if false will block until natural refresh occurs.
+     * 
+     * @param generations
+     * @param forceRefresh
+     */
     public void blockUntilGenerationIsVisible(List<Generation> generations, boolean forceRefresh) throws BlurException, org.apache.thrift.TException;
 
     /**
-     * Returns a list of all the shard servers for the given cluster.
-     * @param cluster the cluster name.
+     * Returns a list of all current running servers.
      * @return list of servers, e.g. node1:40020.
      */
     public List<String> serverList() throws BlurException, org.apache.thrift.TException;

http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/aee98432/interface/gen-java/org/apache/blur/thrift/generated/Generation.java
----------------------------------------------------------------------
diff --git a/interface/gen-java/org/apache/blur/thrift/generated/Generation.java b/interface/gen-java/org/apache/blur/thrift/generated/Generation.java
index 6580d5f..ce12410 100644
--- a/interface/gen-java/org/apache/blur/thrift/generated/Generation.java
+++ b/interface/gen-java/org/apache/blur/thrift/generated/Generation.java
@@ -49,6 +49,10 @@ import java.util.Arrays;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+/**
+ * Generation keeps a reference to the Lucene generation where a mutate (add/update/delete)
+ * was performed.  This can be used to wait for that generation to be visible.
+ */
 public class Generation implements org.apache.thrift.TBase<Generation, Generation._Fields>, java.io.Serializable, Cloneable {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("Generation");
 
@@ -62,14 +66,32 @@ public class Generation implements org.apache.thrift.TBase<Generation, Generatio
     schemes.put(TupleScheme.class, new GenerationTupleSchemeFactory());
   }
 
+  /**
+   * The table name for this generation.
+   */
   public String table; // required
+  /**
+   * The shard index for this generation.
+   */
   public int shardIndex; // required
+  /**
+   * The Lucene generation.
+   */
   public long generation; // required
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
   public enum _Fields implements org.apache.thrift.TFieldIdEnum {
+    /**
+     * The table name for this generation.
+     */
     TABLE((short)1, "table"),
+    /**
+     * The shard index for this generation.
+     */
     SHARD_INDEX((short)2, "shardIndex"),
+    /**
+     * The Lucene generation.
+     */
     GENERATION((short)3, "generation");
 
     private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
@@ -188,10 +210,16 @@ public class Generation implements org.apache.thrift.TBase<Generation, Generatio
     this.generation = 0;
   }
 
+  /**
+   * The table name for this generation.
+   */
   public String getTable() {
     return this.table;
   }
 
+  /**
+   * The table name for this generation.
+   */
   public Generation setTable(String table) {
     this.table = table;
     return this;
@@ -212,10 +240,16 @@ public class Generation implements org.apache.thrift.TBase<Generation, Generatio
     }
   }
 
+  /**
+   * The shard index for this generation.
+   */
   public int getShardIndex() {
     return this.shardIndex;
   }
 
+  /**
+   * The shard index for this generation.
+   */
   public Generation setShardIndex(int shardIndex) {
     this.shardIndex = shardIndex;
     setShardIndexIsSet(true);
@@ -235,10 +269,16 @@ public class Generation implements org.apache.thrift.TBase<Generation, Generatio
     __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __SHARDINDEX_ISSET_ID, value);
   }
 
+  /**
+   * The Lucene generation.
+   */
   public long getGeneration() {
     return this.generation;
   }
 
+  /**
+   * The Lucene generation.
+   */
   public Generation setGeneration(long generation) {
     this.generation = generation;
     setGenerationIsSet(true);

http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/aee98432/interface/gen-java/org/apache/blur/thrift/generated/TYPE.java
----------------------------------------------------------------------
diff --git a/interface/gen-java/org/apache/blur/thrift/generated/TYPE.java b/interface/gen-java/org/apache/blur/thrift/generated/TYPE.java
index 8c9a193..e7a3cb5 100644
--- a/interface/gen-java/org/apache/blur/thrift/generated/TYPE.java
+++ b/interface/gen-java/org/apache/blur/thrift/generated/TYPE.java
@@ -30,14 +30,39 @@ import java.util.Map;
 import java.util.HashMap;
 import org.apache.thrift.TEnum;
 
+/**
+ * The fields types.
+ */
 public enum TYPE implements org.apache.thrift.TEnum {
-  STRING(0),
-  INT(1),
-  LONG(2),
-  FLOAT(3),
-  DOUBLE(4),
-  BINARY(5),
-  TEXT(6);
+  /**
+   * This type uses the StandardAnalyzer for indexing and stores the value.
+   */
+  TEXT(0),
+  /**
+   * This type is indexed as a String (Lucene StringField) as provided and stores the value.
+   * NOTE: The String is not tokenized, so the String is indexed as a single value.
+   */
+  STRING(1),
+  /**
+   * This type is indexed as an Integer (Lucene IntegerField) as provided and stores the value.
+   */
+  INT(2),
+  /**
+   * This type is indexed as an Long (Lucene LongField) as provided and stores the value.
+   */
+  LONG(3),
+  /**
+   * This type is indexed as an Float (Lucene FloatField) as provided and stores the value.
+   */
+  FLOAT(4),
+  /**
+   * This type is indexed as an Double (Lucene DoubleField) as provided and stores the value.
+   */
+  DOUBLE(5),
+  /**
+   * This type is NOT indexed but stores the value.
+   */
+  BINARY(6);
 
   private final int value;
 
@@ -59,19 +84,19 @@ public enum TYPE implements org.apache.thrift.TEnum {
   public static TYPE findByValue(int value) { 
     switch (value) {
       case 0:
-        return STRING;
+        return TEXT;
       case 1:
-        return INT;
+        return STRING;
       case 2:
-        return LONG;
+        return INT;
       case 3:
-        return FLOAT;
+        return LONG;
       case 4:
-        return DOUBLE;
+        return FLOAT;
       case 5:
-        return BINARY;
+        return DOUBLE;
       case 6:
-        return TEXT;
+        return BINARY;
       default:
         return null;
     }

http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/aee98432/interface/gen-perl/Blur/Types.pm
----------------------------------------------------------------------
diff --git a/interface/gen-perl/Blur/Types.pm b/interface/gen-perl/Blur/Types.pm
index 32f5fca..a8c2f41 100644
--- a/interface/gen-perl/Blur/Types.pm
+++ b/interface/gen-perl/Blur/Types.pm
@@ -13,13 +13,13 @@ use constant RUNNING => 0;
 use constant INTERRUPTED => 1;
 use constant COMPLETE => 2;
 package Blur::TYPE;
-use constant STRING => 0;
-use constant INT => 1;
-use constant LONG => 2;
-use constant FLOAT => 3;
-use constant DOUBLE => 4;
-use constant BINARY => 5;
-use constant TEXT => 6;
+use constant TEXT => 0;
+use constant STRING => 1;
+use constant INT => 2;
+use constant LONG => 3;
+use constant FLOAT => 4;
+use constant DOUBLE => 5;
+use constant BINARY => 6;
 package Blur::SortType;
 use constant SCORE => 0;
 use constant DOC => 1;
@@ -651,17 +651,17 @@ sub write {
 
 package Blur::AnalyzerSubType;
 use base qw(Class::Accessor);
-Blur::AnalyzerSubType->mk_accessors( qw( fieldName classDefinition ) );
+Blur::AnalyzerSubType->mk_accessors( qw( subFieldName classDefinition ) );
 
 sub new {
   my $classname = shift;
   my $self      = {};
   my $vals      = shift || {};
-  $self->{fieldName} = undef;
+  $self->{subFieldName} = undef;
   $self->{classDefinition} = undef;
   if (UNIVERSAL::isa($vals,'HASH')) {
-    if (defined $vals->{fieldName}) {
-      $self->{fieldName} = $vals->{fieldName};
+    if (defined $vals->{subFieldName}) {
+      $self->{subFieldName} = $vals->{subFieldName};
     }
     if (defined $vals->{classDefinition}) {
       $self->{classDefinition} = $vals->{classDefinition};
@@ -690,7 +690,7 @@ sub read {
     SWITCH: for($fid)
     {
       /^1$/ && do{      if ($ftype == TType::STRING) {
-        $xfer += $input->readString(\$self->{fieldName});
+        $xfer += $input->readString(\$self->{subFieldName});
       } else {
         $xfer += $input->skip($ftype);
       }
@@ -714,9 +714,9 @@ sub write {
   my ($self, $output) = @_;
   my $xfer   = 0;
   $xfer += $output->writeStructBegin('AnalyzerSubType');
-  if (defined $self->{fieldName}) {
-    $xfer += $output->writeFieldBegin('fieldName', TType::STRING, 1);
-    $xfer += $output->writeString($self->{fieldName});
+  if (defined $self->{subFieldName}) {
+    $xfer += $output->writeFieldBegin('subFieldName', TType::STRING, 1);
+    $xfer += $output->writeString($self->{subFieldName});
     $xfer += $output->writeFieldEnd();
   }
   if (defined $self->{classDefinition}) {

http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/aee98432/interface/gen-rb/blur_types.rb
----------------------------------------------------------------------
diff --git a/interface/gen-rb/blur_types.rb b/interface/gen-rb/blur_types.rb
index 01f01e3..a7359b6 100644
--- a/interface/gen-rb/blur_types.rb
+++ b/interface/gen-rb/blur_types.rb
@@ -16,15 +16,23 @@ module Blur
   end
 
   module TYPE
-    STRING = 0
-    INT = 1
-    LONG = 2
-    FLOAT = 3
-    DOUBLE = 4
-    BINARY = 5
-    TEXT = 6
-    VALUE_MAP = {0 => "STRING", 1 => "INT", 2 => "LONG", 3 => "FLOAT", 4 => "DOUBLE", 5 => "BINARY", 6 => "TEXT"}
-    VALID_VALUES = Set.new([STRING, INT, LONG, FLOAT, DOUBLE, BINARY, TEXT]).freeze
+    # This type uses the StandardAnalyzer for indexing and stores the value.
+    TEXT = 0
+    # This type is indexed as a String (Lucene StringField) as provided and stores the value.
+# NOTE: The String is not tokenized, so the String is indexed as a single value.
+    STRING = 1
+    # This type is indexed as an Integer (Lucene IntegerField) as provided and stores the value.
+    INT = 2
+    # This type is indexed as an Long (Lucene LongField) as provided and stores the value.
+    LONG = 3
+    # This type is indexed as an Float (Lucene FloatField) as provided and stores the value.
+    FLOAT = 4
+    # This type is indexed as an Double (Lucene DoubleField) as provided and stores the value.
+    DOUBLE = 5
+    # This type is NOT indexed but stores the value.
+    BINARY = 6
+    VALUE_MAP = {0 => "TEXT", 1 => "STRING", 2 => "INT", 3 => "LONG", 4 => "FLOAT", 5 => "DOUBLE", 6 => "BINARY"}
+    VALID_VALUES = Set.new([TEXT, STRING, INT, LONG, FLOAT, DOUBLE, BINARY]).freeze
   end
 
   module SortType
@@ -191,13 +199,17 @@ module Blur
     ::Thrift::Struct.generate_accessors self
   end
 
+  # The analyzer sub type struct holds the sub field name and class definition of
+# the sub type.  See AnalyzerType for further explanation.
   class AnalyzerSubType
     include ::Thrift::Struct, ::Thrift::Struct_Union
-    FIELDNAME = 1
+    SUBFIELDNAME = 1
     CLASSDEFINITION = 2
 
     FIELDS = {
-      FIELDNAME => {:type => ::Thrift::Types::STRING, :name => 'fieldName'},
+      # The sub field name.
+      SUBFIELDNAME => {:type => ::Thrift::Types::STRING, :name => 'subFieldName'},
+      # The class definition that is to be used.
       CLASSDEFINITION => {:type => ::Thrift::Types::STRUCT, :name => 'classDefinition', :class => ::Blur::ClassDefinition}
     }
 
@@ -209,6 +221,15 @@ module Blur
     ::Thrift::Struct.generate_accessors self
   end
 
+  # The Analyzer struct allows for defining an alternate analyzer class definition
+# with optional analyzer sub types.  The sub types allow for indexing a single field
+# with several different analyzer while only storing the value once.  For example, if
+# field "name" was a TEXT type the class definition could be set to Lowercase
+# analyzer and the analyzer sub types could be set to Keyword (with a sub field name
+# of "key") and Standard analyzer (with a sub field name of "standard").  Then in
+# queries the Lowercase analyzer would be used when "name" is referenced, Keyword
+# analyzer would be referenced when "name.key" is referenced and Standard analyzer
+# would be referenced when "name.standard" is referenced.
   class AnalyzerType
     include ::Thrift::Struct, ::Thrift::Struct_Union
     FIELDNAME = 1
@@ -216,8 +237,12 @@ module Blur
     ANALYZERSUBTYPES = 3
 
     FIELDS = {
+      # The field that this defined type is to operate against.
       FIELDNAME => {:type => ::Thrift::Types::STRING, :name => 'fieldName'},
+      # The class definition that is to be used.  If this field is null then the
+# default behavior of the field is to be used.
       CLASSDEFINITION => {:type => ::Thrift::Types::STRUCT, :name => 'classDefinition', :class => ::Blur::ClassDefinition},
+      # The analyzer sub types that should be applied.  This can be empty or null.
       ANALYZERSUBTYPES => {:type => ::Thrift::Types::LIST, :name => 'analyzerSubTypes', :element => {:type => ::Thrift::Types::STRUCT, :class => ::Blur::AnalyzerSubType}}
     }
 
@@ -229,11 +254,16 @@ module Blur
     ::Thrift::Struct.generate_accessors self
   end
 
+  # The analyzer allows for defining of alternate analyzers for the given fields.  The TYPE
+# enum defines the default field types and the default indexing behavior for each.  The
+# Analyzer struct allows for defining alternate behavior.  Such as a field with a TEXT
+# type using a Lowercase Analyzer instead of the default StandardAnalyzer.
   class Analyzer
     include ::Thrift::Struct, ::Thrift::Struct_Union
     ANALYZERTYPES = 1
 
     FIELDS = {
+      # The list of AnalyzerTypes.
       ANALYZERTYPES => {:type => ::Thrift::Types::LIST, :name => 'analyzerTypes', :element => {:type => ::Thrift::Types::STRUCT, :class => ::Blur::AnalyzerType}}
     }
 
@@ -527,6 +557,8 @@ module Blur
     ::Thrift::Struct.generate_accessors self
   end
 
+  # Generation keeps a reference to the Lucene generation where a mutate (add/update/delete)
+# was performed.  This can be used to wait for that generation to be visible.
   class Generation
     include ::Thrift::Struct, ::Thrift::Struct_Union
     TABLE = 1
@@ -534,8 +566,11 @@ module Blur
     GENERATION = 3
 
     FIELDS = {
+      # The table name for this generation.
       TABLE => {:type => ::Thrift::Types::STRING, :name => 'table'},
+      # The shard index for this generation.
       SHARDINDEX => {:type => ::Thrift::Types::I32, :name => 'shardIndex'},
+      # The Lucene generation.
       GENERATION => {:type => ::Thrift::Types::I64, :name => 'generation'}
     }
 

http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/aee98432/src/blur-thrift/src/main/java/org/apache/blur/thrift/generated/Analyzer.java
----------------------------------------------------------------------
diff --git a/src/blur-thrift/src/main/java/org/apache/blur/thrift/generated/Analyzer.java b/src/blur-thrift/src/main/java/org/apache/blur/thrift/generated/Analyzer.java
index d6fd0e7..ef6c001 100644
--- a/src/blur-thrift/src/main/java/org/apache/blur/thrift/generated/Analyzer.java
+++ b/src/blur-thrift/src/main/java/org/apache/blur/thrift/generated/Analyzer.java
@@ -49,6 +49,12 @@ import java.util.Arrays;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+/**
+ * The analyzer allows for defining of alternate analyzers for the given fields.  The TYPE
+ * enum defines the default field types and the default indexing behavior for each.  The
+ * Analyzer struct allows for defining alternate behavior.  Such as a field with a TEXT
+ * type using a Lowercase Analyzer instead of the default StandardAnalyzer.
+ */
 public class Analyzer implements org.apache.thrift.TBase<Analyzer, Analyzer._Fields>, java.io.Serializable, Cloneable {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("Analyzer");
 
@@ -60,10 +66,16 @@ public class Analyzer implements org.apache.thrift.TBase<Analyzer, Analyzer._Fie
     schemes.put(TupleScheme.class, new AnalyzerTupleSchemeFactory());
   }
 
+  /**
+   * The list of AnalyzerTypes.
+   */
   public List<AnalyzerType> analyzerTypes; // required
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
   public enum _Fields implements org.apache.thrift.TFieldIdEnum {
+    /**
+     * The list of AnalyzerTypes.
+     */
     ANALYZER_TYPES((short)1, "analyzerTypes");
 
     private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
@@ -178,10 +190,16 @@ public class Analyzer implements org.apache.thrift.TBase<Analyzer, Analyzer._Fie
     this.analyzerTypes.add(elem);
   }
 
+  /**
+   * The list of AnalyzerTypes.
+   */
   public List<AnalyzerType> getAnalyzerTypes() {
     return this.analyzerTypes;
   }
 
+  /**
+   * The list of AnalyzerTypes.
+   */
   public Analyzer setAnalyzerTypes(List<AnalyzerType> analyzerTypes) {
     this.analyzerTypes = analyzerTypes;
     return this;

http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/aee98432/src/blur-thrift/src/main/java/org/apache/blur/thrift/generated/AnalyzerSubType.java
----------------------------------------------------------------------
diff --git a/src/blur-thrift/src/main/java/org/apache/blur/thrift/generated/AnalyzerSubType.java b/src/blur-thrift/src/main/java/org/apache/blur/thrift/generated/AnalyzerSubType.java
index 36d7374..d9b7455 100644
--- a/src/blur-thrift/src/main/java/org/apache/blur/thrift/generated/AnalyzerSubType.java
+++ b/src/blur-thrift/src/main/java/org/apache/blur/thrift/generated/AnalyzerSubType.java
@@ -49,10 +49,14 @@ import java.util.Arrays;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+/**
+ * The analyzer sub type struct holds the sub field name and class definition of
+ * the sub type.  See AnalyzerType for further explanation.
+ */
 public class AnalyzerSubType implements org.apache.thrift.TBase<AnalyzerSubType, AnalyzerSubType._Fields>, java.io.Serializable, Cloneable {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("AnalyzerSubType");
 
-  private static final org.apache.thrift.protocol.TField FIELD_NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("fieldName", org.apache.thrift.protocol.TType.STRING, (short)1);
+  private static final org.apache.thrift.protocol.TField SUB_FIELD_NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("subFieldName", org.apache.thrift.protocol.TType.STRING, (short)1);
   private static final org.apache.thrift.protocol.TField CLASS_DEFINITION_FIELD_DESC = new org.apache.thrift.protocol.TField("classDefinition", org.apache.thrift.protocol.TType.STRUCT, (short)2);
 
   private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
@@ -61,12 +65,24 @@ public class AnalyzerSubType implements org.apache.thrift.TBase<AnalyzerSubType,
     schemes.put(TupleScheme.class, new AnalyzerSubTypeTupleSchemeFactory());
   }
 
-  public String fieldName; // required
+  /**
+   * The sub field name.
+   */
+  public String subFieldName; // required
+  /**
+   * The class definition that is to be used.
+   */
   public ClassDefinition classDefinition; // required
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
   public enum _Fields implements org.apache.thrift.TFieldIdEnum {
-    FIELD_NAME((short)1, "fieldName"),
+    /**
+     * The sub field name.
+     */
+    SUB_FIELD_NAME((short)1, "subFieldName"),
+    /**
+     * The class definition that is to be used.
+     */
     CLASS_DEFINITION((short)2, "classDefinition");
 
     private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
@@ -82,8 +98,8 @@ public class AnalyzerSubType implements org.apache.thrift.TBase<AnalyzerSubType,
      */
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
-        case 1: // FIELD_NAME
-          return FIELD_NAME;
+        case 1: // SUB_FIELD_NAME
+          return SUB_FIELD_NAME;
         case 2: // CLASS_DEFINITION
           return CLASS_DEFINITION;
         default:
@@ -129,7 +145,7 @@ public class AnalyzerSubType implements org.apache.thrift.TBase<AnalyzerSubType,
   public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
   static {
     Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
-    tmpMap.put(_Fields.FIELD_NAME, new org.apache.thrift.meta_data.FieldMetaData("fieldName", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+    tmpMap.put(_Fields.SUB_FIELD_NAME, new org.apache.thrift.meta_data.FieldMetaData("subFieldName", org.apache.thrift.TFieldRequirementType.DEFAULT, 
         new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
     tmpMap.put(_Fields.CLASS_DEFINITION, new org.apache.thrift.meta_data.FieldMetaData("classDefinition", org.apache.thrift.TFieldRequirementType.DEFAULT, 
         new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, ClassDefinition.class)));
@@ -141,11 +157,11 @@ public class AnalyzerSubType implements org.apache.thrift.TBase<AnalyzerSubType,
   }
 
   public AnalyzerSubType(
-    String fieldName,
+    String subFieldName,
     ClassDefinition classDefinition)
   {
     this();
-    this.fieldName = fieldName;
+    this.subFieldName = subFieldName;
     this.classDefinition = classDefinition;
   }
 
@@ -153,8 +169,8 @@ public class AnalyzerSubType implements org.apache.thrift.TBase<AnalyzerSubType,
    * Performs a deep copy on <i>other</i>.
    */
   public AnalyzerSubType(AnalyzerSubType other) {
-    if (other.isSetFieldName()) {
-      this.fieldName = other.fieldName;
+    if (other.isSetSubFieldName()) {
+      this.subFieldName = other.subFieldName;
     }
     if (other.isSetClassDefinition()) {
       this.classDefinition = new ClassDefinition(other.classDefinition);
@@ -167,38 +183,50 @@ public class AnalyzerSubType implements org.apache.thrift.TBase<AnalyzerSubType,
 
   @Override
   public void clear() {
-    this.fieldName = null;
+    this.subFieldName = null;
     this.classDefinition = null;
   }
 
-  public String getFieldName() {
-    return this.fieldName;
+  /**
+   * The sub field name.
+   */
+  public String getSubFieldName() {
+    return this.subFieldName;
   }
 
-  public AnalyzerSubType setFieldName(String fieldName) {
-    this.fieldName = fieldName;
+  /**
+   * The sub field name.
+   */
+  public AnalyzerSubType setSubFieldName(String subFieldName) {
+    this.subFieldName = subFieldName;
     return this;
   }
 
-  public void unsetFieldName() {
-    this.fieldName = null;
+  public void unsetSubFieldName() {
+    this.subFieldName = null;
   }
 
-  /** Returns true if field fieldName is set (has been assigned a value) and false otherwise */
-  public boolean isSetFieldName() {
-    return this.fieldName != null;
+  /** Returns true if field subFieldName is set (has been assigned a value) and false otherwise */
+  public boolean isSetSubFieldName() {
+    return this.subFieldName != null;
   }
 
-  public void setFieldNameIsSet(boolean value) {
+  public void setSubFieldNameIsSet(boolean value) {
     if (!value) {
-      this.fieldName = null;
+      this.subFieldName = null;
     }
   }
 
+  /**
+   * The class definition that is to be used.
+   */
   public ClassDefinition getClassDefinition() {
     return this.classDefinition;
   }
 
+  /**
+   * The class definition that is to be used.
+   */
   public AnalyzerSubType setClassDefinition(ClassDefinition classDefinition) {
     this.classDefinition = classDefinition;
     return this;
@@ -221,11 +249,11 @@ public class AnalyzerSubType implements org.apache.thrift.TBase<AnalyzerSubType,
 
   public void setFieldValue(_Fields field, Object value) {
     switch (field) {
-    case FIELD_NAME:
+    case SUB_FIELD_NAME:
       if (value == null) {
-        unsetFieldName();
+        unsetSubFieldName();
       } else {
-        setFieldName((String)value);
+        setSubFieldName((String)value);
       }
       break;
 
@@ -242,8 +270,8 @@ public class AnalyzerSubType implements org.apache.thrift.TBase<AnalyzerSubType,
 
   public Object getFieldValue(_Fields field) {
     switch (field) {
-    case FIELD_NAME:
-      return getFieldName();
+    case SUB_FIELD_NAME:
+      return getSubFieldName();
 
     case CLASS_DEFINITION:
       return getClassDefinition();
@@ -259,8 +287,8 @@ public class AnalyzerSubType implements org.apache.thrift.TBase<AnalyzerSubType,
     }
 
     switch (field) {
-    case FIELD_NAME:
-      return isSetFieldName();
+    case SUB_FIELD_NAME:
+      return isSetSubFieldName();
     case CLASS_DEFINITION:
       return isSetClassDefinition();
     }
@@ -280,12 +308,12 @@ public class AnalyzerSubType implements org.apache.thrift.TBase<AnalyzerSubType,
     if (that == null)
       return false;
 
-    boolean this_present_fieldName = true && this.isSetFieldName();
-    boolean that_present_fieldName = true && that.isSetFieldName();
-    if (this_present_fieldName || that_present_fieldName) {
-      if (!(this_present_fieldName && that_present_fieldName))
+    boolean this_present_subFieldName = true && this.isSetSubFieldName();
+    boolean that_present_subFieldName = true && that.isSetSubFieldName();
+    if (this_present_subFieldName || that_present_subFieldName) {
+      if (!(this_present_subFieldName && that_present_subFieldName))
         return false;
-      if (!this.fieldName.equals(that.fieldName))
+      if (!this.subFieldName.equals(that.subFieldName))
         return false;
     }
 
@@ -314,12 +342,12 @@ public class AnalyzerSubType implements org.apache.thrift.TBase<AnalyzerSubType,
     int lastComparison = 0;
     AnalyzerSubType typedOther = (AnalyzerSubType)other;
 
-    lastComparison = Boolean.valueOf(isSetFieldName()).compareTo(typedOther.isSetFieldName());
+    lastComparison = Boolean.valueOf(isSetSubFieldName()).compareTo(typedOther.isSetSubFieldName());
     if (lastComparison != 0) {
       return lastComparison;
     }
-    if (isSetFieldName()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.fieldName, typedOther.fieldName);
+    if (isSetSubFieldName()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.subFieldName, typedOther.subFieldName);
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -354,11 +382,11 @@ public class AnalyzerSubType implements org.apache.thrift.TBase<AnalyzerSubType,
     StringBuilder sb = new StringBuilder("AnalyzerSubType(");
     boolean first = true;
 
-    sb.append("fieldName:");
-    if (this.fieldName == null) {
+    sb.append("subFieldName:");
+    if (this.subFieldName == null) {
       sb.append("null");
     } else {
-      sb.append(this.fieldName);
+      sb.append(this.subFieldName);
     }
     first = false;
     if (!first) sb.append(", ");
@@ -415,10 +443,10 @@ public class AnalyzerSubType implements org.apache.thrift.TBase<AnalyzerSubType,
           break;
         }
         switch (schemeField.id) {
-          case 1: // FIELD_NAME
+          case 1: // SUB_FIELD_NAME
             if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-              struct.fieldName = iprot.readString();
-              struct.setFieldNameIsSet(true);
+              struct.subFieldName = iprot.readString();
+              struct.setSubFieldNameIsSet(true);
             } else { 
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
@@ -447,9 +475,9 @@ public class AnalyzerSubType implements org.apache.thrift.TBase<AnalyzerSubType,
       struct.validate();
 
       oprot.writeStructBegin(STRUCT_DESC);
-      if (struct.fieldName != null) {
-        oprot.writeFieldBegin(FIELD_NAME_FIELD_DESC);
-        oprot.writeString(struct.fieldName);
+      if (struct.subFieldName != null) {
+        oprot.writeFieldBegin(SUB_FIELD_NAME_FIELD_DESC);
+        oprot.writeString(struct.subFieldName);
         oprot.writeFieldEnd();
       }
       if (struct.classDefinition != null) {
@@ -475,15 +503,15 @@ public class AnalyzerSubType implements org.apache.thrift.TBase<AnalyzerSubType,
     public void write(org.apache.thrift.protocol.TProtocol prot, AnalyzerSubType struct) throws org.apache.thrift.TException {
       TTupleProtocol oprot = (TTupleProtocol) prot;
       BitSet optionals = new BitSet();
-      if (struct.isSetFieldName()) {
+      if (struct.isSetSubFieldName()) {
         optionals.set(0);
       }
       if (struct.isSetClassDefinition()) {
         optionals.set(1);
       }
       oprot.writeBitSet(optionals, 2);
-      if (struct.isSetFieldName()) {
-        oprot.writeString(struct.fieldName);
+      if (struct.isSetSubFieldName()) {
+        oprot.writeString(struct.subFieldName);
       }
       if (struct.isSetClassDefinition()) {
         struct.classDefinition.write(oprot);
@@ -495,8 +523,8 @@ public class AnalyzerSubType implements org.apache.thrift.TBase<AnalyzerSubType,
       TTupleProtocol iprot = (TTupleProtocol) prot;
       BitSet incoming = iprot.readBitSet(2);
       if (incoming.get(0)) {
-        struct.fieldName = iprot.readString();
-        struct.setFieldNameIsSet(true);
+        struct.subFieldName = iprot.readString();
+        struct.setSubFieldNameIsSet(true);
       }
       if (incoming.get(1)) {
         struct.classDefinition = new ClassDefinition();

http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/aee98432/src/blur-thrift/src/main/java/org/apache/blur/thrift/generated/AnalyzerType.java
----------------------------------------------------------------------
diff --git a/src/blur-thrift/src/main/java/org/apache/blur/thrift/generated/AnalyzerType.java b/src/blur-thrift/src/main/java/org/apache/blur/thrift/generated/AnalyzerType.java
index f4347b4..aec8238 100644
--- a/src/blur-thrift/src/main/java/org/apache/blur/thrift/generated/AnalyzerType.java
+++ b/src/blur-thrift/src/main/java/org/apache/blur/thrift/generated/AnalyzerType.java
@@ -49,6 +49,17 @@ import java.util.Arrays;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+/**
+ * The Analyzer struct allows for defining an alternate analyzer class definition
+ * with optional analyzer sub types.  The sub types allow for indexing a single field
+ * with several different analyzer while only storing the value once.  For example, if
+ * field "name" was a TEXT type the class definition could be set to Lowercase
+ * analyzer and the analyzer sub types could be set to Keyword (with a sub field name
+ * of "key") and Standard analyzer (with a sub field name of "standard").  Then in
+ * queries the Lowercase analyzer would be used when "name" is referenced, Keyword
+ * analyzer would be referenced when "name.key" is referenced and Standard analyzer
+ * would be referenced when "name.standard" is referenced.
+ */
 public class AnalyzerType implements org.apache.thrift.TBase<AnalyzerType, AnalyzerType._Fields>, java.io.Serializable, Cloneable {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("AnalyzerType");
 
@@ -62,14 +73,34 @@ public class AnalyzerType implements org.apache.thrift.TBase<AnalyzerType, Analy
     schemes.put(TupleScheme.class, new AnalyzerTypeTupleSchemeFactory());
   }
 
+  /**
+   * The field that this defined type is to operate against.
+   */
   public String fieldName; // required
+  /**
+   * The class definition that is to be used.  If this field is null then the
+   * default behavior of the field is to be used.
+   */
   public ClassDefinition classDefinition; // required
+  /**
+   * The analyzer sub types that should be applied.  This can be empty or null.
+   */
   public List<AnalyzerSubType> analyzerSubTypes; // required
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
   public enum _Fields implements org.apache.thrift.TFieldIdEnum {
+    /**
+     * The field that this defined type is to operate against.
+     */
     FIELD_NAME((short)1, "fieldName"),
+    /**
+     * The class definition that is to be used.  If this field is null then the
+     * default behavior of the field is to be used.
+     */
     CLASS_DEFINITION((short)2, "classDefinition"),
+    /**
+     * The analyzer sub types that should be applied.  This can be empty or null.
+     */
     ANALYZER_SUB_TYPES((short)3, "analyzerSubTypes");
 
     private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
@@ -189,10 +220,16 @@ public class AnalyzerType implements org.apache.thrift.TBase<AnalyzerType, Analy
     this.analyzerSubTypes = null;
   }
 
+  /**
+   * The field that this defined type is to operate against.
+   */
   public String getFieldName() {
     return this.fieldName;
   }
 
+  /**
+   * The field that this defined type is to operate against.
+   */
   public AnalyzerType setFieldName(String fieldName) {
     this.fieldName = fieldName;
     return this;
@@ -213,10 +250,18 @@ public class AnalyzerType implements org.apache.thrift.TBase<AnalyzerType, Analy
     }
   }
 
+  /**
+   * The class definition that is to be used.  If this field is null then the
+   * default behavior of the field is to be used.
+   */
   public ClassDefinition getClassDefinition() {
     return this.classDefinition;
   }
 
+  /**
+   * The class definition that is to be used.  If this field is null then the
+   * default behavior of the field is to be used.
+   */
   public AnalyzerType setClassDefinition(ClassDefinition classDefinition) {
     this.classDefinition = classDefinition;
     return this;
@@ -252,10 +297,16 @@ public class AnalyzerType implements org.apache.thrift.TBase<AnalyzerType, Analy
     this.analyzerSubTypes.add(elem);
   }
 
+  /**
+   * The analyzer sub types that should be applied.  This can be empty or null.
+   */
   public List<AnalyzerSubType> getAnalyzerSubTypes() {
     return this.analyzerSubTypes;
   }
 
+  /**
+   * The analyzer sub types that should be applied.  This can be empty or null.
+   */
   public AnalyzerType setAnalyzerSubTypes(List<AnalyzerSubType> analyzerSubTypes) {
     this.analyzerSubTypes = analyzerSubTypes;
     return this;

http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/aee98432/src/blur-thrift/src/main/java/org/apache/blur/thrift/generated/Blur.java
----------------------------------------------------------------------
diff --git a/src/blur-thrift/src/main/java/org/apache/blur/thrift/generated/Blur.java b/src/blur-thrift/src/main/java/org/apache/blur/thrift/generated/Blur.java
index 68f0e1b..dc00f8e 100644
--- a/src/blur-thrift/src/main/java/org/apache/blur/thrift/generated/Blur.java
+++ b/src/blur-thrift/src/main/java/org/apache/blur/thrift/generated/Blur.java
@@ -134,11 +134,18 @@ public class Blur {
      */
     public List<Generation> updateDocuments(MutateOptions options, List<UpdatePackage> updatePackages) throws BlurException, org.apache.thrift.TException;
 
+    /**
+     * This method blocks until all the given generations are visible for reading.
+     * @param generations the list of Generation objects.
+     * @param forceRefresh forces a refresh of the indexes if true, if false will block until natural refresh occurs.
+     * 
+     * @param generations
+     * @param forceRefresh
+     */
     public void blockUntilGenerationIsVisible(List<Generation> generations, boolean forceRefresh) throws BlurException, org.apache.thrift.TException;
 
     /**
-     * Returns a list of all the shard servers for the given cluster.
-     * @param cluster the cluster name.
+     * Returns a list of all current running servers.
      * @return list of servers, e.g. node1:40020.
      */
     public List<String> serverList() throws BlurException, org.apache.thrift.TException;

http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/aee98432/src/blur-thrift/src/main/java/org/apache/blur/thrift/generated/Generation.java
----------------------------------------------------------------------
diff --git a/src/blur-thrift/src/main/java/org/apache/blur/thrift/generated/Generation.java b/src/blur-thrift/src/main/java/org/apache/blur/thrift/generated/Generation.java
index 6580d5f..ce12410 100644
--- a/src/blur-thrift/src/main/java/org/apache/blur/thrift/generated/Generation.java
+++ b/src/blur-thrift/src/main/java/org/apache/blur/thrift/generated/Generation.java
@@ -49,6 +49,10 @@ import java.util.Arrays;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+/**
+ * Generation keeps a reference to the Lucene generation where a mutate (add/update/delete)
+ * was performed.  This can be used to wait for that generation to be visible.
+ */
 public class Generation implements org.apache.thrift.TBase<Generation, Generation._Fields>, java.io.Serializable, Cloneable {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("Generation");
 
@@ -62,14 +66,32 @@ public class Generation implements org.apache.thrift.TBase<Generation, Generatio
     schemes.put(TupleScheme.class, new GenerationTupleSchemeFactory());
   }
 
+  /**
+   * The table name for this generation.
+   */
   public String table; // required
+  /**
+   * The shard index for this generation.
+   */
   public int shardIndex; // required
+  /**
+   * The Lucene generation.
+   */
   public long generation; // required
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
   public enum _Fields implements org.apache.thrift.TFieldIdEnum {
+    /**
+     * The table name for this generation.
+     */
     TABLE((short)1, "table"),
+    /**
+     * The shard index for this generation.
+     */
     SHARD_INDEX((short)2, "shardIndex"),
+    /**
+     * The Lucene generation.
+     */
     GENERATION((short)3, "generation");
 
     private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
@@ -188,10 +210,16 @@ public class Generation implements org.apache.thrift.TBase<Generation, Generatio
     this.generation = 0;
   }
 
+  /**
+   * The table name for this generation.
+   */
   public String getTable() {
     return this.table;
   }
 
+  /**
+   * The table name for this generation.
+   */
   public Generation setTable(String table) {
     this.table = table;
     return this;
@@ -212,10 +240,16 @@ public class Generation implements org.apache.thrift.TBase<Generation, Generatio
     }
   }
 
+  /**
+   * The shard index for this generation.
+   */
   public int getShardIndex() {
     return this.shardIndex;
   }
 
+  /**
+   * The shard index for this generation.
+   */
   public Generation setShardIndex(int shardIndex) {
     this.shardIndex = shardIndex;
     setShardIndexIsSet(true);
@@ -235,10 +269,16 @@ public class Generation implements org.apache.thrift.TBase<Generation, Generatio
     __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __SHARDINDEX_ISSET_ID, value);
   }
 
+  /**
+   * The Lucene generation.
+   */
   public long getGeneration() {
     return this.generation;
   }
 
+  /**
+   * The Lucene generation.
+   */
   public Generation setGeneration(long generation) {
     this.generation = generation;
     setGenerationIsSet(true);

http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/aee98432/src/blur-thrift/src/main/java/org/apache/blur/thrift/generated/TYPE.java
----------------------------------------------------------------------
diff --git a/src/blur-thrift/src/main/java/org/apache/blur/thrift/generated/TYPE.java b/src/blur-thrift/src/main/java/org/apache/blur/thrift/generated/TYPE.java
index 8c9a193..e7a3cb5 100644
--- a/src/blur-thrift/src/main/java/org/apache/blur/thrift/generated/TYPE.java
+++ b/src/blur-thrift/src/main/java/org/apache/blur/thrift/generated/TYPE.java
@@ -30,14 +30,39 @@ import java.util.Map;
 import java.util.HashMap;
 import org.apache.thrift.TEnum;
 
+/**
+ * The fields types.
+ */
 public enum TYPE implements org.apache.thrift.TEnum {
-  STRING(0),
-  INT(1),
-  LONG(2),
-  FLOAT(3),
-  DOUBLE(4),
-  BINARY(5),
-  TEXT(6);
+  /**
+   * This type uses the StandardAnalyzer for indexing and stores the value.
+   */
+  TEXT(0),
+  /**
+   * This type is indexed as a String (Lucene StringField) as provided and stores the value.
+   * NOTE: The String is not tokenized, so the String is indexed as a single value.
+   */
+  STRING(1),
+  /**
+   * This type is indexed as an Integer (Lucene IntegerField) as provided and stores the value.
+   */
+  INT(2),
+  /**
+   * This type is indexed as an Long (Lucene LongField) as provided and stores the value.
+   */
+  LONG(3),
+  /**
+   * This type is indexed as an Float (Lucene FloatField) as provided and stores the value.
+   */
+  FLOAT(4),
+  /**
+   * This type is indexed as an Double (Lucene DoubleField) as provided and stores the value.
+   */
+  DOUBLE(5),
+  /**
+   * This type is NOT indexed but stores the value.
+   */
+  BINARY(6);
 
   private final int value;
 
@@ -59,19 +84,19 @@ public enum TYPE implements org.apache.thrift.TEnum {
   public static TYPE findByValue(int value) { 
     switch (value) {
       case 0:
-        return STRING;
+        return TEXT;
       case 1:
-        return INT;
+        return STRING;
       case 2:
-        return LONG;
+        return INT;
       case 3:
-        return FLOAT;
+        return LONG;
       case 4:
-        return DOUBLE;
+        return FLOAT;
       case 5:
-        return BINARY;
+        return DOUBLE;
       case 6:
-        return TEXT;
+        return BINARY;
       default:
         return null;
     }


Mime
View raw message