incubator-blur-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From amccu...@apache.org
Subject [17/28] Initial commit of the back port. The blur-util, blur-store, have been completed. Also a new distribution project help with the building of the project. Also all of the pom files have been updated to the new version. This is very much a work i
Date Mon, 18 Mar 2013 01:10:31 GMT
http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/a4601422/src/distribution/src/main/scripts/bin/start-shards.sh
----------------------------------------------------------------------
diff --git a/src/distribution/src/main/scripts/bin/start-shards.sh b/src/distribution/src/main/scripts/bin/start-shards.sh
new file mode 100755
index 0000000..639ab98
--- /dev/null
+++ b/src/distribution/src/main/scripts/bin/start-shards.sh
@@ -0,0 +1,25 @@
+#!/usr/bin/env bash
+
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+bin=`dirname "$0"`
+bin=`cd "$bin"; pwd`
+
+. "$bin"/blur-config.sh
+
+$BLUR_HOME/bin/shards.sh $BLUR_HOME/bin/start-shard-server.sh
+
+

http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/a4601422/src/distribution/src/main/scripts/bin/stop-all.sh
----------------------------------------------------------------------
diff --git a/src/distribution/src/main/scripts/bin/stop-all.sh b/src/distribution/src/main/scripts/bin/stop-all.sh
new file mode 100755
index 0000000..8c758fb
--- /dev/null
+++ b/src/distribution/src/main/scripts/bin/stop-all.sh
@@ -0,0 +1,24 @@
+#!/usr/bin/env bash
+
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+bin=`dirname "$0"`
+bin=`cd "$bin"; pwd`
+
+. "$bin"/blur-config.sh
+
+$BLUR_HOME/bin/stop-controllers.sh
+$BLUR_HOME/bin/stop-shards.sh

http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/a4601422/src/distribution/src/main/scripts/bin/stop-controller-server.sh
----------------------------------------------------------------------
diff --git a/src/distribution/src/main/scripts/bin/stop-controller-server.sh b/src/distribution/src/main/scripts/bin/stop-controller-server.sh
new file mode 100755
index 0000000..2595e19
--- /dev/null
+++ b/src/distribution/src/main/scripts/bin/stop-controller-server.sh
@@ -0,0 +1,38 @@
+#!/usr/bin/env bash
+
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+bin=`dirname "$0"`
+bin=`cd "$bin"; pwd`
+
+. "$bin"/blur-config.sh
+
+INSTANCE=0
+while [  $INSTANCE -lt $BLUR_NUMBER_OF_CONTROLLER_SERVER_INSTANCES_PER_MACHINE ]; do
+  PID_FILE=$BLUR_HOME/pids/controller-$INSTANCE.pid
+
+  if [ -f $PID_FILE ]; then
+    if kill -0 `cat $PID_FILE` > /dev/null 2>&1; then
+      echo Stopping Controller [$INSTANCE] server with pid [`cat $PID_FILE`].
+      kill `cat $PID_FILE`
+    else
+      echo No Controller [$INSTANCE] server to stop
+    fi
+  else
+    echo No Controller [$INSTANCE] server to stop
+  fi
+  let INSTANCE=INSTANCE+1 
+done
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/a4601422/src/distribution/src/main/scripts/bin/stop-controllers.sh
----------------------------------------------------------------------
diff --git a/src/distribution/src/main/scripts/bin/stop-controllers.sh b/src/distribution/src/main/scripts/bin/stop-controllers.sh
new file mode 100755
index 0000000..5a44096
--- /dev/null
+++ b/src/distribution/src/main/scripts/bin/stop-controllers.sh
@@ -0,0 +1,24 @@
+#!/usr/bin/env bash
+
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+bin=`dirname "$0"`
+bin=`cd "$bin"; pwd`
+
+. "$bin"/blur-config.sh
+
+$BLUR_HOME/bin/controllers.sh $BLUR_HOME/bin/stop-controller-server.sh
+

http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/a4601422/src/distribution/src/main/scripts/bin/stop-shard-server.sh
----------------------------------------------------------------------
diff --git a/src/distribution/src/main/scripts/bin/stop-shard-server.sh b/src/distribution/src/main/scripts/bin/stop-shard-server.sh
new file mode 100755
index 0000000..d850ffb
--- /dev/null
+++ b/src/distribution/src/main/scripts/bin/stop-shard-server.sh
@@ -0,0 +1,38 @@
+#!/usr/bin/env bash
+
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+bin=`dirname "$0"`
+bin=`cd "$bin"; pwd`
+
+. "$bin"/blur-config.sh
+
+INSTANCE=0
+while [  $INSTANCE -lt $BLUR_NUMBER_OF_SHARD_SERVER_INSTANCES_PER_MACHINE ]; do
+  PID_FILE=$BLUR_HOME/pids/shard-$INSTANCE.pid
+
+  if [ -f $PID_FILE ]; then
+    if kill -0 `cat $PID_FILE` > /dev/null 2>&1; then
+      echo Stopping Shard [$INSTANCE] server with pid [`cat $PID_FILE`].
+      kill `cat $PID_FILE`
+    else
+      echo No Shard [$INSTANCE] server to stop
+    fi
+  else
+    echo No Shard [$INSTANCE] server to stop
+  fi
+  let INSTANCE=INSTANCE+1 
+done
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/a4601422/src/distribution/src/main/scripts/bin/stop-shards.sh
----------------------------------------------------------------------
diff --git a/src/distribution/src/main/scripts/bin/stop-shards.sh b/src/distribution/src/main/scripts/bin/stop-shards.sh
new file mode 100755
index 0000000..5e1342d
--- /dev/null
+++ b/src/distribution/src/main/scripts/bin/stop-shards.sh
@@ -0,0 +1,24 @@
+#!/usr/bin/env bash
+
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+bin=`dirname "$0"`
+bin=`cd "$bin"; pwd`
+
+. "$bin"/blur-config.sh
+
+$BLUR_HOME/bin/shards.sh $BLUR_HOME/bin/stop-shard-server.sh
+

http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/a4601422/src/distribution/src/main/scripts/conf/blur-env.sh
----------------------------------------------------------------------
diff --git a/src/distribution/src/main/scripts/conf/blur-env.sh b/src/distribution/src/main/scripts/conf/blur-env.sh
new file mode 100755
index 0000000..9c4f20b
--- /dev/null
+++ b/src/distribution/src/main/scripts/conf/blur-env.sh
@@ -0,0 +1,56 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# Set environment specific Blur settings here.
+
+# JAVA_HOME is required
+# export JAVA_HOME=/usr/lib/j2sdk1.6-sun
+
+# HADOOP_HOME is required
+# export HADOOP_HOME=/var/hadoop-0.20.2
+
+# JAVA JVM OPTIONS for the shard servers, jvm tuning parameters are placed here.
+#
+# This is an example of JVM options on a large heap and how to setup large pages and max direct memory size.
+# export BLUR_SHARD_JVM_OPTIONS="-XX:MaxDirectMemorySize=<size>g -XX:+UseLargePages -Xms12g -Xmx12g -Xmn2g -XX:+UseCompressedOops \
+#-XX:+UseConcMarkSweepGC -XX:+CMSIncrementalMode -XX:CMSIncrementalDutyCycleMin=10 -XX:CMSIncrementalDutyCycle=50 \
+#-XX:ParallelGCThreads=8 -XX:+UseParNewGC -XX:MaxGCPauseMillis=200 -XX:GCTimeRatio=10 -XX:+DisableExplicitGC \
+#-verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps -Xloggc:$BLUR_HOME/logs/gc-blur-shard-server_`date +%Y%m%d_%H%M%S`.log
+export BLUR_SHARD_JVM_OPTIONS="-Xmx1024m"
+
+# JAVA JVM OPTIONS for the shard servers, jvm tuning parameters are placed here.
+export BLUR_CONTROLLER_JVM_OPTIONS="-Xmx1024m"
+
+# JAVA JVM OPTIONS for the shard servers, jvm tuning parameters are placed here.
+export BLUR_COMMAND="-Xmx1024m"
+
+# Any SSH Options to be used during startup or shutdown commands.
+export BLUR_SSH_OPTS=
+
+# Time to sleep between shard server commands.
+export BLUR_SHARD_SLEEP=0.1
+
+# Time to sleep between controller server commands.
+export BLUR_CONTROLLER_SLEEP=0.1
+
+# The of shard servers to spawn per machine.
+export BLUR_NUMBER_OF_SHARD_SERVER_INSTANCES_PER_MACHINE=1
+
+# The of controller servers to spawn per machine.
+export BLUR_NUMBER_OF_CONTROLLER_SERVER_INSTANCES_PER_MACHINE=1
+
+# The directory where all the log files will be located.
+# export BLUR_LOGS=$BLUR_HOME/logs
+

http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/a4601422/src/distribution/src/main/scripts/conf/blur-site.properties
----------------------------------------------------------------------
diff --git a/src/distribution/src/main/scripts/conf/blur-site.properties b/src/distribution/src/main/scripts/conf/blur-site.properties
new file mode 100644
index 0000000..a5b33ad
--- /dev/null
+++ b/src/distribution/src/main/scripts/conf/blur-site.properties
@@ -0,0 +1,21 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+#Zookeeper connection string
+blur.zookeeper.connection=localhost
+
+#The cluster name
+blur.cluster.name=default
+

http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/a4601422/src/distribution/src/main/scripts/conf/controllers
----------------------------------------------------------------------
diff --git a/src/distribution/src/main/scripts/conf/controllers b/src/distribution/src/main/scripts/conf/controllers
new file mode 100644
index 0000000..2fbb50c
--- /dev/null
+++ b/src/distribution/src/main/scripts/conf/controllers
@@ -0,0 +1 @@
+localhost

http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/a4601422/src/distribution/src/main/scripts/conf/hadoop-metrics.properties
----------------------------------------------------------------------
diff --git a/src/distribution/src/main/scripts/conf/hadoop-metrics.properties b/src/distribution/src/main/scripts/conf/hadoop-metrics.properties
new file mode 100644
index 0000000..dba5756
--- /dev/null
+++ b/src/distribution/src/main/scripts/conf/hadoop-metrics.properties
@@ -0,0 +1,28 @@
+# Configuration of the "blur" context for null
+blur.class=org.apache.hadoop.metrics.spi.NullContext
+
+# Configuration of the "blur" context for file
+# blur.class=org.apache.hadoop.metrics.file.FileContext
+# blur.period=10
+# blur.fileName=/tmp/blurmetrics.log
+
+# Configuration of the "blur" context for ganglia
+# Pick one: Ganglia 3.0 (former) or Ganglia 3.1 (latter)
+# blur.class=org.apache.hadoop.metrics.ganglia.GangliaContext
+# blur.class=org.apache.hadoop.metrics.ganglia.GangliaContext31
+# blur.period=10
+# blur.servers=localhost:8649
+
+
+# Configuration of the "jvm" context for null
+jvm.class=org.apache.hadoop.metrics.spi.NullContext
+
+# Configuration of the "jvm" context for file
+# jvm.class=org.apache.hadoop.metrics.file.FileContext
+# jvm.period=10
+# jvm.fileName=/tmp/jvmmetrics.log
+
+# Configuration of the "jvm" context for ganglia
+# jvm.class=org.apache.hadoop.metrics.ganglia.GangliaContext
+# jvm.period=10
+# jvm.servers=localhost:8649

http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/a4601422/src/distribution/src/main/scripts/conf/log4j.xml
----------------------------------------------------------------------
diff --git a/src/distribution/src/main/scripts/conf/log4j.xml b/src/distribution/src/main/scripts/conf/log4j.xml
new file mode 100644
index 0000000..518413a
--- /dev/null
+++ b/src/distribution/src/main/scripts/conf/log4j.xml
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
+
+<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
+
+
+	<appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
+		<layout class="org.apache.log4j.PatternLayout">
+			<param name="ConversionPattern" value="%-5p %d{yyyyMMdd_HH:mm:ss:sss_z} [%t] %c{2}: %m%n" />
+		</layout>
+	</appender>
+
+	<appender name="ASYNC" class="org.apache.log4j.AsyncAppender">
+		<appender-ref ref="FILE" />
+	</appender>
+
+	<appender name="FILE" class="org.apache.log4j.DailyRollingFileAppender">
+		<param name="File" value="${blur.logs.dir}/${blur.log.file}" />
+		<param name="DatePattern" value="'.'yyyyMMdd" />
+		<param name="Append" value="true" />
+		<layout class="org.apache.log4j.PatternLayout">
+			<param name="ConversionPattern" value="%-5p %d{yyyyMMdd_HH:mm:ss:sss_z} [%t] %c{2}: %m%n" />
+		</layout>
+	</appender>
+	
+	<logger name="org.apache.hadoop">
+    	<level value="ERROR" />
+	    <appender-ref ref="ASYNC"/>
+	</logger>
+
+	<!--root>
+	For production use, the async configuration will be better for performance at the cost of not seeing the final flushed log events.
+		<priority value="INFO" />
+		<appender-ref ref="ASYNC" />
+	</root-->
+
+	<root>
+		<priority value="INFO" />
+		<appender-ref ref="FILE" />
+	</root>
+</log4j:configuration>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/a4601422/src/distribution/src/main/scripts/conf/shards
----------------------------------------------------------------------
diff --git a/src/distribution/src/main/scripts/conf/shards b/src/distribution/src/main/scripts/conf/shards
new file mode 100644
index 0000000..2fbb50c
--- /dev/null
+++ b/src/distribution/src/main/scripts/conf/shards
@@ -0,0 +1 @@
+localhost

http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/a4601422/src/distribution/src/main/scripts/interface/Blur.thrift
----------------------------------------------------------------------
diff --git a/src/distribution/src/main/scripts/interface/Blur.thrift b/src/distribution/src/main/scripts/interface/Blur.thrift
new file mode 100644
index 0000000..32ecc42
--- /dev/null
+++ b/src/distribution/src/main/scripts/interface/Blur.thrift
@@ -0,0 +1,732 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+namespace java org.apache.blur.thrift.generated
+namespace rb blur
+namespace perl Blur
+
+/** 
+  * BlurException that carries a message plus the original stack 
+  * trace (if any). 
+  */
+exception BlurException {
+  /** 
+   * The message in the exception. 
+   */
+  1:string message,
+
+  /** 
+   * The original stack trace (if any). 
+   */
+  2:string stackTraceStr
+}
+
+/** 
+  * The scoring type used during a SuperQuery to score multi Record hits within a ColumnFamily.<br/><br/>
+  * SUPER - During a multi Record match, a calculation of the best match Record plus how often it occurs within the match Row produces the score that is used in the scoring of the SuperQuery.<br/><br/>
+  * AGGREGATE - During a multi Record match, the aggregate score of all the Records within a ColumnFamily is used in the scoring of the SuperQuery.<br/><br/>
+  * BEST - During a multi Record match, the best score of all the Records within a ColumnFamily is used in the scoring of the SuperQuery.<br/><br/>
+  * CONSTANT - A constant score of 1 is used in the scoring of the SuperQuery.<br/>
+  */
+enum ScoreType {
+  SUPER,
+  AGGREGATE,
+  BEST,
+  CONSTANT
+}
+
+/**
+  * The state of a query.<br/><br/>
+  * RUNNING - Query is running.<br/><br/>
+  * INTERRUPTED - Query has been interrupted.<br/><br/>
+  * COMPLETE - Query is complete.<br/>
+  */
+enum QueryState {
+  RUNNING,
+  INTERRUPTED,
+  COMPLETE
+}
+
+/**
+ * Specifies the type of Row mutation that should occur during a mutation of a given Row.<br/><br/>
+ * DELETE_ROW - Indicates that the entire Row is to be deleted.  No changes are made if the specified row does not exist.<br/><br/>
+ * REPLACE_ROW - Indicates that the entire Row is to be deleted, and then a new Row with the same id is to be added.  If the specified row does not exist, the new row will still be created.<br/><br/>
+ * UPDATE_ROW - Indicates that mutations of the underlying Records will be processed individually.  Mutation will result in a BlurException if the specified row does not exist.<br/>
+ */
+enum RowMutationType {
+  DELETE_ROW,
+  REPLACE_ROW,
+  UPDATE_ROW
+}
+
+/**
+ * Specifies the type of Record mutation that should occur during a mutation of a given Record.<br/><br/>
+ * DELETE_ENTIRE_RECORD -  Indicates the Record with the given recordId in the given Row is to be deleted.  If the target record does not exist, then no changes are made.<br/><br/>
+ * REPLACE_ENTIRE_RECORD - Indicates the Record with the given recordId in the given Row is to be deleted, and a new Record with the same id is to be added. If the specified record does not exist the new record is still added.<br/><br/>
+ * REPLACE_COLUMNS - Replace the columns that are specified in the Record mutation.  If the target record does not exist then this mutation will result in a BlurException.<br/><br/>
+ * APPEND_COLUMN_VALUES - Append the columns in the Record mutation to the Record that could already exist.  If the target record does not exist then this mutation will result in a BlurException.<br/>
+ */
+enum RecordMutationType {
+  DELETE_ENTIRE_RECORD,
+  REPLACE_ENTIRE_RECORD,
+  REPLACE_COLUMNS,
+  APPEND_COLUMN_VALUES
+}
+
+
+/**
+ * Column is the lowest storage element in Blur, it stores a single name and value pair.
+ */
+struct Column {
+  /**
+   * The name of the column.
+   */
+  1:string name,
+
+  /**
+   * The value to be indexed and stored.
+   */
+  2:string value
+}
+
+/**
+ * Records contain a list of columns, multiple columns with the same name are allowed.
+ */
+struct Record {
+  /**
+   * Record id uniquely identifies a record within a single row.
+   */
+  1:string recordId,
+
+  /**
+   * The family in which this record resides.
+   */
+  2:string family,
+
+  /**
+   * A list of columns, multiple columns with the same name are allowed.
+   */
+  3:list<Column> columns
+}
+
+/**
+ * Rows contain a list of records.
+ */
+struct Row {
+  /**
+   * The row id.
+   */
+  1:string id,
+
+  /**
+   * The list records within the row.  If paging is used this list will only 
+   * reflect the paged records from the selector.
+   */
+  2:list<Record> records,
+
+  /**
+   * The total record count for the row.  If paging is used in a selector to page 
+   * through records of a row, this count will reflect the entire row.
+   */
+  3:i32 recordCount
+}
+
+
+
+/**
+ * Select carries the request for information to be retrieved from the stored columns.
+ */
+struct Selector {
+  /**
+   * Fetch the Record only, not the entire Row.
+   */
+  1:bool recordOnly,
+  /**
+   * The location id of the Record or Row to be fetched.
+   */
+  2:string locationId,
+  /**
+   * The row id of the Row to be fetched, not to be used with location id.
+   */
+  3:string rowId,
+  /**
+   * The record id of the Record to be fetched, not to be used with location id.  However the row id needs to be provided to locate the correct Row with the requested Record.
+   */
+  4:string recordId,
+  /**
+   * The column families to fetch.  If null, fetch all.  If empty, fetch none.
+   */
+  5:set<string> columnFamiliesToFetch,
+  /**
+   * The columns in the families to fetch.  If null, fetch all.  If empty, fetch none.
+   */
+  6:map<string,set<string>> columnsToFetch,
+  /**
+   * @deprecated This value is no longer used.  This allows the fetch to see the most current data that has been added to the table.
+   */
+  7:bool allowStaleData
+}
+
+/**
+ * FetchRowResult contains row result from a fetch.
+ */
+struct FetchRowResult {
+  /**
+   * The row fetched.
+   */
+  1:Row row
+}
+
+/**
+ * FetchRecordResult contains rowid of the record and the record result from a fetch.
+ */
+struct FetchRecordResult {
+  /**
+   * The row id of the record being fetched.
+   */
+  1:string rowid,
+  /**
+   * The record fetched.
+   */
+  2:Record record
+}
+
+/**
+ * FetchResult contains the row or record fetch result based if the Selector was going to fetch the entire row or a single record.
+ */
+struct FetchResult {
+  /**
+   * True if the result exists, false if it doesn't.
+   */
+  1:bool exists,
+  /**
+   * If the row was marked as deleted.
+   */
+  2:bool deleted,
+  /**
+   * The table the fetch result came from.
+   */
+  3:string table,
+  /**
+   * The row result if a row was selected form the Selector.
+   */
+  4:FetchRowResult rowResult,
+  /**
+   * The record result if a record was selected form the Selector.
+   */
+  5:FetchRecordResult recordResult
+}
+
+/**
+ * The SimpleQuery object holds the query string (normal Lucene syntax), filters and type of scoring (used when super query is on).
+ */
+struct SimpleQuery {
+  /**
+   * A Lucene syntax based query.
+   */
+  1:string queryStr,
+  /**
+   * If the super query is on, meaning the query will be perform against all the records (joining records in some cases) and the result will be Rows (groupings of Record).
+   */
+  2:bool superQueryOn = 1,
+  /**
+   * The scoring type, see the document on ScoreType for explanation of each score type.
+   */
+  3:ScoreType type = ScoreType.SUPER, 
+  /**
+   * The post super filter (normal Lucene syntax), is a filter performed after the join to filter out entire rows from the results.
+   */
+  4:string postSuperFilter,
+  /**
+   * The pre super filter (normal Lucene syntax), is a filter performed before the join to filter out records from the results.
+   */
+  5:string preSuperFilter
+}
+
+/**
+ * The expert query allows for submission of a serialized query and filter object to be executed against all the queries.
+ */
+struct ExpertQuery {
+  /**
+   * The serialized query.
+   */
+  1:binary query,
+  /**
+   * The serialized filter.
+   */
+  2:binary filter
+}
+
+/**
+ * Blur facet.
+ */
+struct Facet {
+  1:string queryStr,
+  2:i64 minimumNumberOfBlurResults = 9223372036854775807
+}
+
+/**
+ *
+ */
+struct BlurQuery {
+  /**
+   *
+   */
+  1:SimpleQuery simpleQuery,
+  /**
+   *
+   */
+  2:ExpertQuery expertQuery,
+  /**
+   *
+   */
+  3:list<Facet> facets,
+  /**
+   * Selector is used to fetch data in the search results, if null only location ids will be fetched.
+   */
+  4:Selector selector,
+  /**
+   * @deprecated This value is no longer used.  This allows the query to see the most current data that has been added to the table.
+   */
+  5:bool allowStaleData = 0,
+  /**
+   *
+   */
+  6:bool useCacheIfPresent = 1,
+  /**
+   *
+   */
+  7:i64 start = 0,
+  /**
+   *
+   */
+  8:i32 fetch = 10, 
+  /**
+   *
+   */
+  9:i64 minimumNumberOfResults = 9223372036854775807,
+  /**
+   *
+   */
+  10:i64 maxQueryTime = 9223372036854775807,
+  /**
+   *
+   */
+  11:i64 uuid,
+  /**
+   *
+   */
+  12:string userContext,
+  /**
+   *
+   */
+  13:bool cacheResult = 1,
+  /**
+   *
+   */
+  14:i64 startTime = 0,
+  /**
+   *
+   */
+  15:bool modifyFileCaches = 1
+}
+
+/**
+ *
+ */
+struct BlurResult {
+  /**
+   *
+   */
+  1:string locationId,
+  /**
+   *
+   */
+  2:double score,
+  /**
+   *
+   */
+  3:FetchResult fetchResult
+}
+
+/**
+ *
+ */
+struct BlurResults {
+  /**
+   *
+   */
+  1:i64 totalResults = 0,
+  /**
+   *
+   */
+  2:map<string,i64> shardInfo,
+  /**
+   *
+   */
+  3:list<BlurResult> results,
+  /**
+   *
+   */
+  4:list<i64> facetCounts,
+  /**
+   *
+   */
+  5:list<BlurException> exceptions,
+  /**
+   *
+   */
+  6:BlurQuery query
+}
+
+/**
+ *
+ */
+struct RecordMutation {
+  /**
+   *
+   */
+  1:RecordMutationType recordMutationType,
+  /**
+   *
+   */
+  2:Record record
+}
+
+/**
+ *
+ */
+struct RowMutation {
+  /**
+   * The that that the row mutation is to act upon.
+   */
+  1:string table,
+  /**
+   * The row id that the row mutation is to act upon.
+   */
+  2:string rowId,
+  /**
+   * Write ahead log, by default all updates are written to a write ahead log before the update is applied.  That way if a failure occurs before the index is committed the WAL can be replayed to recover any data that could have been lost.
+   */
+  3:bool wal = 1,
+  4:RowMutationType rowMutationType,
+  5:list<RecordMutation> recordMutations,
+  /**
+   * On mutate waits for the mutation to be visible to queries and fetch requests.
+   */
+  6:bool waitToBeVisible = 0
+}
+
+/**
+ *
+ */
+struct CpuTime {
+  /**
+   *
+   */
+  1:i64 cpuTime,
+  /**
+   *
+   */
+  2:i64 realTime
+}
+
+/**
+ *
+ */
+struct BlurQueryStatus {
+  /**
+   *
+   */
+  1:BlurQuery query,
+  /**
+   *
+   */
+  2:map<string,CpuTime> cpuTimes,
+  /**
+   *
+   */
+  3:i32 completeShards,
+  /**
+   *
+   */
+  4:i32 totalShards,
+  /**
+   *
+   */
+  5:QueryState state,
+  /**
+   *
+   */
+  6:i64 uuid
+}
+
+/**
+ *
+ */
+struct TableStats {
+  /**
+   *
+   */
+  1:string tableName,
+  /**
+   *
+   */
+  2:i64 bytes,
+  /**
+   *
+   */
+  3:i64 recordCount,
+  /**
+   *
+   */
+  4:i64 rowCount,
+  /**
+   *
+   */
+  5:i64 queries
+}
+
+/**
+ *
+ */
+struct Schema {
+  /**
+   *
+   */
+  1:string table,
+  /**
+   *
+   */
+  2:map<string,set<string>> columnFamilies
+}
+
+/**
+ *
+ */
+struct AlternateColumnDefinition {
+  /**
+   *
+   */
+  1:string analyzerClassName
+}
+
+/**
+ *
+ */
+struct ColumnDefinition {
+  1:string analyzerClassName = "org.apache.lucene.analysis.standard.StandardAnalyzer",
+  2:bool fullTextIndex,
+  3:map<string,AlternateColumnDefinition> alternateColumnDefinitions
+}
+
+/**
+ *
+ */
+struct ColumnFamilyDefinition {
+  /**
+   *
+   */
+  1:ColumnDefinition defaultDefinition,
+  /**
+   *
+   */
+  2:map<string,ColumnDefinition> columnDefinitions
+}
+
+/**
+ *
+ */
+struct AnalyzerDefinition {
+  /**
+   *
+   */
+  1:ColumnDefinition defaultDefinition,
+  /**
+   *
+   */
+  2:string fullTextAnalyzerClassName = "org.apache.lucene.analysis.standard.StandardAnalyzer",
+  /**
+   *
+   */
+  3:map<string,ColumnFamilyDefinition> columnFamilyDefinitions
+}
+
+/**
+ *
+ */
+struct ColumnPreCache {
+  /**
+   * This map sets what column families and columns to prefetch into block cache on shard open.
+   */
+  1:list<string> preCacheCols
+}
+
+/**
+ *
+ */
+struct TableDescriptor {
+  /**
+   *
+   */
+  1:bool isEnabled = 1,
+  /**
+   *
+   */
+  2:AnalyzerDefinition analyzerDefinition,
+  /**
+   *
+   */
+  3:i32 shardCount = 1,
+  /**
+   *
+   */
+  4:string tableUri,
+  /**
+   *
+   */
+  5:string compressionClass = 'org.apache.hadoop.io.compress.DefaultCodec',
+  /**
+   *
+   */
+  6:i32 compressionBlockSize = 32768,
+  /**
+   *
+   */
+  7:string cluster = 'default',
+  /**
+   *
+   */
+  8:string name,
+  /**
+   *
+   */
+  9:string similarityClass,
+  /**
+   *
+   */
+  10:bool blockCaching = 1,
+  /**
+   *
+   */
+  11:set<string> blockCachingFileTypes,
+  /**
+   * If a table is set to be readonly, that means that mutates through Thrift are NOT allowed.  However 
+   * updates through MapReduce are allowed and in fact they are only allowed if the table is in readOnly mode.
+   */
+  12:bool readOnly = 0,
+  /**
+   * Sets what column families and columns to prefetch into block cache on shard open.
+   */
+  13:ColumnPreCache columnPreCache
+}
+
+/**
+ *
+ */
+service Blur {
+
+  /**
+   * Returns a list of all the shard clusters.
+   */
+  list<string> shardClusterList() throws (1:BlurException ex)
+  /**
+   * Returns a list of all the shard servers for the given cluster.
+   * @param cluster the cluster name.
+   */
+  list<string> shardServerList(1:string cluster) throws (1:BlurException ex)
+  /**
+   * Returns a list of all the controller servers.
+   */
+  list<string> controllerServerList() throws (1:BlurException ex)
+  /**
+   * Returns a map of the layout of the given table, where the key is the shard name and the value is the shard server.
+   * @param table the table name.
+   */
+  map<string,string> shardServerLayout(1:string table) throws (1:BlurException ex)
+
+  /**
+   * Returns a list of the table names across all shard clusters.
+   */
+  list<string> tableList() throws (1:BlurException ex)
+  /**
+   * Returns a list of the table names for the given cluster.
+   * @param cluster the cluster name.
+   */
+  list<string> tableListByCluster(1:string cluster) throws (1:BlurException ex)
+  /**
+   * Returns a table descriptor for the given table.
+   * @param table the table name.
+   */
+  TableDescriptor describe(1:string table) throws (1:BlurException ex)
+
+  /**
+   * Executes a query against a the given table and returns the results.  If this method is executed against a controller the results will contain the aggregated results from all the shards.  If this method is executed against a shard server the results will only contain aggregated results from the shards of the given table that are being served on the shard server, if any.
+   * @param table the table name.
+   * @param blurQuery the query to execute.
+   */
+  BlurResults query(1:string table, 2:BlurQuery blurQuery) throws (1:BlurException ex)
+
+  /**
+   * Cancels a query that is executing against the given table with the given uuid.  Note, the cancel call maybe take some time for the query actually stops executing.
+   * @param table the table name.
+   * @param uuid the uuid of the query.
+   */
+  void cancelQuery(1:string table, 2:i64 uuid) throws (1:BlurException ex)
+
+  /**
+   * @deprecated This method should avoided, @see #queryStatusIdList and #queryStatusById.
+   * @param table the table name.
+   */
+  list<BlurQueryStatus> currentQueries(1:string table) throws (1:BlurException ex)
+
+  /**
+   * Returns a list of the query ids of queries that have recently been executed for the given table.
+   * @param table the table name.
+   */
+  list<i64> queryStatusIdList(1:string table) throws (1:BlurException ex)
+  /**
+   * Returns the query status for the given table and query uuid.
+   * @param table the table name.
+   * @param uuid the uuid of the query.
+   */
+  BlurQueryStatus queryStatusById(1:string table, 2:i64 uuid) throws (1:BlurException ex)
+
+  Schema schema(1:string table) throws (1:BlurException ex)
+  TableStats getTableStats(1:string table) throws (1:BlurException ex)
+  TableStats tableStats(1:string table) throws (1:BlurException ex)
+  list<string> terms(1:string table, 2:string columnFamily, 3:string columnName, 4:string startWith, 5:i16 size) throws (1:BlurException ex)
+  i64 recordFrequency(1:string table, 2:string columnFamily, 3:string columnName, 4:string value) throws (1:BlurException ex)
+
+  FetchResult fetchRow(1:string table, 2:Selector selector) throws (1:BlurException ex)
+
+  void mutate(1:RowMutation mutation) throws (1:BlurException ex)
+  void mutateBatch(1:list<RowMutation> mutations) throws (1:BlurException ex)
+
+  void createTable(1:TableDescriptor tableDescriptor) throws (1:BlurException ex)
+  void enableTable(1:string table) throws (1:BlurException ex)
+  void disableTable(1:string table) throws (1:BlurException ex)
+  void removeTable(1:string table, 2:bool deleteIndexFiles) throws (1:BlurException ex)
+
+  void optimize(1:string table, 2:i32 numberOfSegmentsPerShard) throws (1:BlurException ex)
+  
+  bool isInSafeMode(1:string cluster) throws (1:BlurException ex)
+
+  map<string,string> configuration() throws (1:BlurException ex)
+}
+
+

http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/a4601422/src/distribution/src/main/scripts/interface/apache.header
----------------------------------------------------------------------
diff --git a/src/distribution/src/main/scripts/interface/apache.header b/src/distribution/src/main/scripts/interface/apache.header
new file mode 100644
index 0000000..3d296de
--- /dev/null
+++ b/src/distribution/src/main/scripts/interface/apache.header
@@ -0,0 +1,19 @@
+package org.apache.blur.thrift.generated;
+
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+

http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/a4601422/src/distribution/src/main/scripts/interface/gen-html/Blur.html
----------------------------------------------------------------------
diff --git a/src/distribution/src/main/scripts/interface/gen-html/Blur.html b/src/distribution/src/main/scripts/interface/gen-html/Blur.html
new file mode 100644
index 0000000..d797003
--- /dev/null
+++ b/src/distribution/src/main/scripts/interface/gen-html/Blur.html
@@ -0,0 +1,526 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
+<link href="style.css" rel="stylesheet" type="text/css"/>
+<title>Thrift module: Blur</title></head><body>
+<div class="container-fluid">
+<h1>Thrift module: Blur</h1>
+<table class="table-bordered table-striped table-condensed"><thead><th>Module</th><th>Services</th><th>Data types</th><th>Constants</th></thead>
+<tr>
+<td>Blur</td><td><a href="Blur.html#Svc_Blur">Blur</a><br/>
+<ul>
+<li><a href="Blur.html#Fn_Blur_cancelQuery">cancelQuery</a></li>
+<li><a href="Blur.html#Fn_Blur_configuration">configuration</a></li>
+<li><a href="Blur.html#Fn_Blur_controllerServerList">controllerServerList</a></li>
+<li><a href="Blur.html#Fn_Blur_createTable">createTable</a></li>
+<li><a href="Blur.html#Fn_Blur_currentQueries">currentQueries</a></li>
+<li><a href="Blur.html#Fn_Blur_describe">describe</a></li>
+<li><a href="Blur.html#Fn_Blur_disableTable">disableTable</a></li>
+<li><a href="Blur.html#Fn_Blur_enableTable">enableTable</a></li>
+<li><a href="Blur.html#Fn_Blur_fetchRow">fetchRow</a></li>
+<li><a href="Blur.html#Fn_Blur_getTableStats">getTableStats</a></li>
+<li><a href="Blur.html#Fn_Blur_isInSafeMode">isInSafeMode</a></li>
+<li><a href="Blur.html#Fn_Blur_mutate">mutate</a></li>
+<li><a href="Blur.html#Fn_Blur_mutateBatch">mutateBatch</a></li>
+<li><a href="Blur.html#Fn_Blur_optimize">optimize</a></li>
+<li><a href="Blur.html#Fn_Blur_query">query</a></li>
+<li><a href="Blur.html#Fn_Blur_queryStatusById">queryStatusById</a></li>
+<li><a href="Blur.html#Fn_Blur_queryStatusIdList">queryStatusIdList</a></li>
+<li><a href="Blur.html#Fn_Blur_recordFrequency">recordFrequency</a></li>
+<li><a href="Blur.html#Fn_Blur_removeTable">removeTable</a></li>
+<li><a href="Blur.html#Fn_Blur_schema">schema</a></li>
+<li><a href="Blur.html#Fn_Blur_shardClusterList">shardClusterList</a></li>
+<li><a href="Blur.html#Fn_Blur_shardServerLayout">shardServerLayout</a></li>
+<li><a href="Blur.html#Fn_Blur_shardServerList">shardServerList</a></li>
+<li><a href="Blur.html#Fn_Blur_tableList">tableList</a></li>
+<li><a href="Blur.html#Fn_Blur_tableListByCluster">tableListByCluster</a></li>
+<li><a href="Blur.html#Fn_Blur_tableStats">tableStats</a></li>
+<li><a href="Blur.html#Fn_Blur_terms">terms</a></li>
+</ul>
+</td>
+<td><a href="Blur.html#Struct_AlternateColumnDefinition">AlternateColumnDefinition</a><br/>
+<a href="Blur.html#Struct_AnalyzerDefinition">AnalyzerDefinition</a><br/>
+<a href="Blur.html#Struct_BlurException">BlurException</a><br/>
+<a href="Blur.html#Struct_BlurQuery">BlurQuery</a><br/>
+<a href="Blur.html#Struct_BlurQueryStatus">BlurQueryStatus</a><br/>
+<a href="Blur.html#Struct_BlurResult">BlurResult</a><br/>
+<a href="Blur.html#Struct_BlurResults">BlurResults</a><br/>
+<a href="Blur.html#Struct_Column">Column</a><br/>
+<a href="Blur.html#Struct_ColumnDefinition">ColumnDefinition</a><br/>
+<a href="Blur.html#Struct_ColumnFamilyDefinition">ColumnFamilyDefinition</a><br/>
+<a href="Blur.html#Struct_ColumnPreCache">ColumnPreCache</a><br/>
+<a href="Blur.html#Struct_CpuTime">CpuTime</a><br/>
+<a href="Blur.html#Struct_ExpertQuery">ExpertQuery</a><br/>
+<a href="Blur.html#Struct_Facet">Facet</a><br/>
+<a href="Blur.html#Struct_FetchRecordResult">FetchRecordResult</a><br/>
+<a href="Blur.html#Struct_FetchResult">FetchResult</a><br/>
+<a href="Blur.html#Struct_FetchRowResult">FetchRowResult</a><br/>
+<a href="Blur.html#Enum_QueryState">QueryState</a><br/>
+<a href="Blur.html#Struct_Record">Record</a><br/>
+<a href="Blur.html#Struct_RecordMutation">RecordMutation</a><br/>
+<a href="Blur.html#Enum_RecordMutationType">RecordMutationType</a><br/>
+<a href="Blur.html#Struct_Row">Row</a><br/>
+<a href="Blur.html#Struct_RowMutation">RowMutation</a><br/>
+<a href="Blur.html#Enum_RowMutationType">RowMutationType</a><br/>
+<a href="Blur.html#Struct_Schema">Schema</a><br/>
+<a href="Blur.html#Enum_ScoreType">ScoreType</a><br/>
+<a href="Blur.html#Struct_Selector">Selector</a><br/>
+<a href="Blur.html#Struct_SimpleQuery">SimpleQuery</a><br/>
+<a href="Blur.html#Struct_TableDescriptor">TableDescriptor</a><br/>
+<a href="Blur.html#Struct_TableStats">TableStats</a><br/>
+</td>
+<td></code></td>
+</tr></table>
+<hr/><h2 id="Enumerations">Enumerations</h2>
+<div class="definition"><h3 id="Enum_ScoreType">Enumeration: ScoreType</h3>
+The scoring type used during a SuperQuery to score multi Record hits within a ColumnFamily.<br/><br/>
+SUPER - During a multi Record match, a calculation of the best match Record plus how often it occurs within the match Row produces the score that is used in the scoring of the SuperQuery.<br/><br/>
+AGGREGATE - During a multi Record match, the aggregate score of all the Records within a ColumnFamily is used in the scoring of the SuperQuery.<br/><br/>
+BEST - During a multi Record match, the best score of all the Records within a ColumnFamily is used in the scoring of the SuperQuery.<br/><br/>
+CONSTANT - A constant score of 1 is used in the scoring of the SuperQuery.<br/>
+<br/><br/><table class="table-bordered table-striped table-condensed">
+<tr><td><code>SUPER</code></td><td><code>0</code></td></tr>
+<tr><td><code>AGGREGATE</code></td><td><code>1</code></td></tr>
+<tr><td><code>BEST</code></td><td><code>2</code></td></tr>
+<tr><td><code>CONSTANT</code></td><td><code>3</code></td></tr>
+</table></div>
+<div class="definition"><h3 id="Enum_QueryState">Enumeration: QueryState</h3>
+The state of a query.<br/><br/>
+RUNNING - Query is running.<br/><br/>
+INTERRUPTED - Query has been interrupted.<br/><br/>
+COMPLETE - Query is complete.<br/>
+<br/><br/><table class="table-bordered table-striped table-condensed">
+<tr><td><code>RUNNING</code></td><td><code>0</code></td></tr>
+<tr><td><code>INTERRUPTED</code></td><td><code>1</code></td></tr>
+<tr><td><code>COMPLETE</code></td><td><code>2</code></td></tr>
+</table></div>
+<div class="definition"><h3 id="Enum_RowMutationType">Enumeration: RowMutationType</h3>
+Specifies the type of Row mutation that should occur during a mutation of a given Row.<br/><br/>
+DELETE_ROW - Indicates that the entire Row is to be deleted.  No changes are made if the specified row does not exist.<br/><br/>
+REPLACE_ROW - Indicates that the entire Row is to be deleted, and then a new Row with the same id is to be added.  If the specified row does not exist, the new row will still be created.<br/><br/>
+UPDATE_ROW - Indicates that mutations of the underlying Records will be processed individually.  Mutation will result in a BlurException if the specified row does not exist.<br/>
+<br/><br/><table class="table-bordered table-striped table-condensed">
+<tr><td><code>DELETE_ROW</code></td><td><code>0</code></td></tr>
+<tr><td><code>REPLACE_ROW</code></td><td><code>1</code></td></tr>
+<tr><td><code>UPDATE_ROW</code></td><td><code>2</code></td></tr>
+</table></div>
+<div class="definition"><h3 id="Enum_RecordMutationType">Enumeration: RecordMutationType</h3>
+Specifies the type of Record mutation that should occur during a mutation of a given Record.<br/><br/>
+DELETE_ENTIRE_RECORD -  Indicates the Record with the given recordId in the given Row is to be deleted.  If the target record does not exist, then no changes are made.<br/><br/>
+REPLACE_ENTIRE_RECORD - Indicates the Record with the given recordId in the given Row is to be deleted, and a new Record with the same id is to be added. If the specified record does not exist the new record is still added.<br/><br/>
+REPLACE_COLUMNS - Replace the columns that are specified in the Record mutation.  If the target record does not exist then this mutation will result in a BlurException.<br/><br/>
+APPEND_COLUMN_VALUES - Append the columns in the Record mutation to the Record that could already exist.  If the target record does not exist then this mutation will result in a BlurException.<br/>
+<br/><br/><table class="table-bordered table-striped table-condensed">
+<tr><td><code>DELETE_ENTIRE_RECORD</code></td><td><code>0</code></td></tr>
+<tr><td><code>REPLACE_ENTIRE_RECORD</code></td><td><code>1</code></td></tr>
+<tr><td><code>REPLACE_COLUMNS</code></td><td><code>2</code></td></tr>
+<tr><td><code>APPEND_COLUMN_VALUES</code></td><td><code>3</code></td></tr>
+</table></div>
+<hr/><h2 id="Structs">Data structures</h2>
+<div class="definition"><h3 id="Struct_BlurException">Exception: BlurException</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>message</td><td><code>string</code></td><td>The message in the exception.
+</td><td>default</td><td></td></tr>
+<tr><td>2</td><td>stackTraceStr</td><td><code>string</code></td><td>The original stack trace (if any).
+</td><td>default</td><td></td></tr>
+</table><br/>BlurException that carries a message plus the original stack
+trace (if any).
+<br/></div><div class="definition"><h3 id="Struct_Column">Struct: Column</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>The name of the column.
+</td><td>default</td><td></td></tr>
+<tr><td>2</td><td>value</td><td><code>string</code></td><td>The value to be indexed and stored.
+</td><td>default</td><td></td></tr>
+</table><br/>Column is the lowest storage element in Blur, it stores a single name and value pair.
+<br/></div><div class="definition"><h3 id="Struct_Record">Struct: Record</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>recordId</td><td><code>string</code></td><td>Record id uniquely identifies a record within a single row.
+</td><td>default</td><td></td></tr>
+<tr><td>2</td><td>family</td><td><code>string</code></td><td>The family in which this record resides.
+</td><td>default</td><td></td></tr>
+<tr><td>3</td><td>columns</td><td><code>list&lt;<code><a href="Blur.html#Struct_Column">Column</a></code>&gt;</code></td><td>A list of columns, multiple columns with the same name are allowed.
+</td><td>default</td><td></td></tr>
+</table><br/>Records contain a list of columns, multiple columns with the same name are allowed.
+<br/></div><div class="definition"><h3 id="Struct_Row">Struct: Row</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>id</td><td><code>string</code></td><td>The row id.
+</td><td>default</td><td></td></tr>
+<tr><td>2</td><td>records</td><td><code>list&lt;<code><a href="Blur.html#Struct_Record">Record</a></code>&gt;</code></td><td>The list records within the row.  If paging is used this list will only
+reflect the paged records from the selector.
+</td><td>default</td><td></td></tr>
+<tr><td>3</td><td>recordCount</td><td><code>i32</code></td><td>The total record count for the row.  If paging is used in a selector to page
+through records of a row, this count will reflect the entire row.
+</td><td>default</td><td></td></tr>
+</table><br/>Rows contain a list of records.
+<br/></div><div class="definition"><h3 id="Struct_Selector">Struct: Selector</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>recordOnly</td><td><code>bool</code></td><td>Fetch the Record only, not the entire Row.
+</td><td>default</td><td></td></tr>
+<tr><td>2</td><td>locationId</td><td><code>string</code></td><td>The location id of the Record or Row to be fetched.
+</td><td>default</td><td></td></tr>
+<tr><td>3</td><td>rowId</td><td><code>string</code></td><td>The row id of the Row to be fetched, not to be used with location id.
+</td><td>default</td><td></td></tr>
+<tr><td>4</td><td>recordId</td><td><code>string</code></td><td>The record id of the Record to be fetched, not to be used with location id.  However the row id needs to be provided to locate the correct Row with the requested Record.
+</td><td>default</td><td></td></tr>
+<tr><td>5</td><td>columnFamiliesToFetch</td><td><code>set&lt;<code>string</code>&gt;</code></td><td>The column families to fetch.  If null, fetch all.  If empty, fetch none.
+</td><td>default</td><td></td></tr>
+<tr><td>6</td><td>columnsToFetch</td><td><code>map&lt;<code>string</code>, <code>set&lt;<code>string</code>&gt;</code>&gt;</code></td><td>The columns in the families to fetch.  If null, fetch all.  If empty, fetch none.
+</td><td>default</td><td></td></tr>
+<tr><td>7</td><td>allowStaleData</td><td><code>bool</code></td><td>@deprecated This value is no longer used.  This allows the fetch to see the most current data that has been added to the table.
+</td><td>default</td><td></td></tr>
+</table><br/>Select carries the request for information to be retrieved from the stored columns.
+<br/></div><div class="definition"><h3 id="Struct_FetchRowResult">Struct: FetchRowResult</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>row</td><td><code><a href="Blur.html#Struct_Row">Row</a></code></td><td>The row fetched.
+</td><td>default</td><td></td></tr>
+</table><br/>FetchRowResult contains row result from a fetch.
+<br/></div><div class="definition"><h3 id="Struct_FetchRecordResult">Struct: FetchRecordResult</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>rowid</td><td><code>string</code></td><td>The row id of the record being fetched.
+</td><td>default</td><td></td></tr>
+<tr><td>2</td><td>record</td><td><code><a href="Blur.html#Struct_Record">Record</a></code></td><td>The record fetched.
+</td><td>default</td><td></td></tr>
+</table><br/>FetchRecordResult contains rowid of the record and the record result from a fetch.
+<br/></div><div class="definition"><h3 id="Struct_FetchResult">Struct: FetchResult</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>exists</td><td><code>bool</code></td><td>True if the result exists, false if it doesn't.
+</td><td>default</td><td></td></tr>
+<tr><td>2</td><td>deleted</td><td><code>bool</code></td><td>If the row was marked as deleted.
+</td><td>default</td><td></td></tr>
+<tr><td>3</td><td>table</td><td><code>string</code></td><td>The table the fetch result came from.
+</td><td>default</td><td></td></tr>
+<tr><td>4</td><td>rowResult</td><td><code><a href="Blur.html#Struct_FetchRowResult">FetchRowResult</a></code></td><td>The row result if a row was selected form the Selector.
+</td><td>default</td><td></td></tr>
+<tr><td>5</td><td>recordResult</td><td><code><a href="Blur.html#Struct_FetchRecordResult">FetchRecordResult</a></code></td><td>The record result if a record was selected form the Selector.
+</td><td>default</td><td></td></tr>
+</table><br/>FetchResult contains the row or record fetch result based if the Selector was going to fetch the entire row or a single record.
+<br/></div><div class="definition"><h3 id="Struct_SimpleQuery">Struct: SimpleQuery</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>queryStr</td><td><code>string</code></td><td>A Lucene syntax based query.
+</td><td>default</td><td></td></tr>
+<tr><td>2</td><td>superQueryOn</td><td><code>bool</code></td><td>If the super query is on, meaning the query will be perform against all the records (joining records in some cases) and the result will be Rows (groupings of Record).
+</td><td>default</td><td>1</td></tr>
+<tr><td>3</td><td>type</td><td><code><a href="Blur.html#Enum_ScoreType">ScoreType</a></code></td><td>The scoring type, see the document on ScoreType for explanation of each score type.
+</td><td>default</td><td>UNKNOWN</td></tr>
+<tr><td>4</td><td>postSuperFilter</td><td><code>string</code></td><td>The post super filter (normal Lucene syntax), is a filter performed after the join to filter out entire rows from the results.
+</td><td>default</td><td></td></tr>
+<tr><td>5</td><td>preSuperFilter</td><td><code>string</code></td><td>The pre super filter (normal Lucene syntax), is a filter performed before the join to filter out records from the results.
+</td><td>default</td><td></td></tr>
+</table><br/>The SimpleQuery object holds the query string (normal Lucene syntax), filters and type of scoring (used when super query is on).
+<br/></div><div class="definition"><h3 id="Struct_ExpertQuery">Struct: ExpertQuery</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>query</td><td><code>binary</code></td><td>The serialized query.
+</td><td>default</td><td></td></tr>
+<tr><td>2</td><td>filter</td><td><code>binary</code></td><td>The serialized filter.
+</td><td>default</td><td></td></tr>
+</table><br/>The expert query allows for submission of a serialized query and filter object to be executed against all the queries.
+<br/></div><div class="definition"><h3 id="Struct_Facet">Struct: Facet</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>queryStr</td><td><code>string</code></td><td></td><td>default</td><td></td></tr>
+<tr><td>2</td><td>minimumNumberOfBlurResults</td><td><code>i64</code></td><td></td><td>default</td><td>9223372036854775807</td></tr>
+</table><br/>Blur facet.
+<br/></div><div class="definition"><h3 id="Struct_BlurQuery">Struct: BlurQuery</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>simpleQuery</td><td><code><a href="Blur.html#Struct_SimpleQuery">SimpleQuery</a></code></td><td>
+</td><td>default</td><td></td></tr>
+<tr><td>2</td><td>expertQuery</td><td><code><a href="Blur.html#Struct_ExpertQuery">ExpertQuery</a></code></td><td>
+</td><td>default</td><td></td></tr>
+<tr><td>3</td><td>facets</td><td><code>list&lt;<code><a href="Blur.html#Struct_Facet">Facet</a></code>&gt;</code></td><td>
+</td><td>default</td><td></td></tr>
+<tr><td>4</td><td>selector</td><td><code><a href="Blur.html#Struct_Selector">Selector</a></code></td><td>Selector is used to fetch data in the search results, if null only location ids will be fetched.
+</td><td>default</td><td></td></tr>
+<tr><td>5</td><td>allowStaleData</td><td><code>bool</code></td><td>@deprecated This value is no longer used.  This allows the query to see the most current data that has been added to the table.
+</td><td>default</td><td>0</td></tr>
+<tr><td>6</td><td>useCacheIfPresent</td><td><code>bool</code></td><td>
+</td><td>default</td><td>1</td></tr>
+<tr><td>7</td><td>start</td><td><code>i64</code></td><td>
+</td><td>default</td><td>0</td></tr>
+<tr><td>8</td><td>fetch</td><td><code>i32</code></td><td>
+</td><td>default</td><td>10</td></tr>
+<tr><td>9</td><td>minimumNumberOfResults</td><td><code>i64</code></td><td>
+</td><td>default</td><td>9223372036854775807</td></tr>
+<tr><td>10</td><td>maxQueryTime</td><td><code>i64</code></td><td>
+</td><td>default</td><td>9223372036854775807</td></tr>
+<tr><td>11</td><td>uuid</td><td><code>i64</code></td><td>
+</td><td>default</td><td></td></tr>
+<tr><td>12</td><td>userContext</td><td><code>string</code></td><td>
+</td><td>default</td><td></td></tr>
+<tr><td>13</td><td>cacheResult</td><td><code>bool</code></td><td>
+</td><td>default</td><td>1</td></tr>
+<tr><td>14</td><td>startTime</td><td><code>i64</code></td><td>
+</td><td>default</td><td>0</td></tr>
+<tr><td>15</td><td>modifyFileCaches</td><td><code>bool</code></td><td>
+</td><td>default</td><td>1</td></tr>
+</table><br/><p/>
+<br/></div><div class="definition"><h3 id="Struct_BlurResult">Struct: BlurResult</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>locationId</td><td><code>string</code></td><td>
+</td><td>default</td><td></td></tr>
+<tr><td>2</td><td>score</td><td><code>double</code></td><td>
+</td><td>default</td><td></td></tr>
+<tr><td>3</td><td>fetchResult</td><td><code><a href="Blur.html#Struct_FetchResult">FetchResult</a></code></td><td>
+</td><td>default</td><td></td></tr>
+</table><br/><p/>
+<br/></div><div class="definition"><h3 id="Struct_BlurResults">Struct: BlurResults</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>totalResults</td><td><code>i64</code></td><td>
+</td><td>default</td><td>0</td></tr>
+<tr><td>2</td><td>shardInfo</td><td><code>map&lt;<code>string</code>, <code>i64</code>&gt;</code></td><td>
+</td><td>default</td><td></td></tr>
+<tr><td>3</td><td>results</td><td><code>list&lt;<code><a href="Blur.html#Struct_BlurResult">BlurResult</a></code>&gt;</code></td><td>
+</td><td>default</td><td></td></tr>
+<tr><td>4</td><td>facetCounts</td><td><code>list&lt;<code>i64</code>&gt;</code></td><td>
+</td><td>default</td><td></td></tr>
+<tr><td>5</td><td>exceptions</td><td><code>list&lt;<code><a href="Blur.html#Struct_BlurException">BlurException</a></code>&gt;</code></td><td>
+</td><td>default</td><td></td></tr>
+<tr><td>6</td><td>query</td><td><code><a href="Blur.html#Struct_BlurQuery">BlurQuery</a></code></td><td>
+</td><td>default</td><td></td></tr>
+</table><br/><p/>
+<br/></div><div class="definition"><h3 id="Struct_RecordMutation">Struct: RecordMutation</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>recordMutationType</td><td><code><a href="Blur.html#Enum_RecordMutationType">RecordMutationType</a></code></td><td>
+</td><td>default</td><td></td></tr>
+<tr><td>2</td><td>record</td><td><code><a href="Blur.html#Struct_Record">Record</a></code></td><td>
+</td><td>default</td><td></td></tr>
+</table><br/><p/>
+<br/></div><div class="definition"><h3 id="Struct_RowMutation">Struct: RowMutation</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>The that that the row mutation is to act upon.
+</td><td>default</td><td></td></tr>
+<tr><td>2</td><td>rowId</td><td><code>string</code></td><td>The row id that the row mutation is to act upon.
+</td><td>default</td><td></td></tr>
+<tr><td>3</td><td>wal</td><td><code>bool</code></td><td>Write ahead log, by default all updates are written to a write ahead log before the update is applied.  That way if a failure occurs before the index is committed the WAL can be replayed to recover any data that could have been lost.
+</td><td>default</td><td>1</td></tr>
+<tr><td>4</td><td>rowMutationType</td><td><code><a href="Blur.html#Enum_RowMutationType">RowMutationType</a></code></td><td></td><td>default</td><td></td></tr>
+<tr><td>5</td><td>recordMutations</td><td><code>list&lt;<code><a href="Blur.html#Struct_RecordMutation">RecordMutation</a></code>&gt;</code></td><td></td><td>default</td><td></td></tr>
+<tr><td>6</td><td>waitToBeVisible</td><td><code>bool</code></td><td>On mutate waits for the mutation to be visible to queries and fetch requests.
+</td><td>default</td><td>0</td></tr>
+</table><br/><p/>
+<br/></div><div class="definition"><h3 id="Struct_CpuTime">Struct: CpuTime</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>cpuTime</td><td><code>i64</code></td><td>
+</td><td>default</td><td></td></tr>
+<tr><td>2</td><td>realTime</td><td><code>i64</code></td><td>
+</td><td>default</td><td></td></tr>
+</table><br/><p/>
+<br/></div><div class="definition"><h3 id="Struct_BlurQueryStatus">Struct: BlurQueryStatus</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>query</td><td><code><a href="Blur.html#Struct_BlurQuery">BlurQuery</a></code></td><td>
+</td><td>default</td><td></td></tr>
+<tr><td>2</td><td>cpuTimes</td><td><code>map&lt;<code>string</code>, <code><a href="Blur.html#Struct_CpuTime">CpuTime</a></code>&gt;</code></td><td>
+</td><td>default</td><td></td></tr>
+<tr><td>3</td><td>completeShards</td><td><code>i32</code></td><td>
+</td><td>default</td><td></td></tr>
+<tr><td>4</td><td>totalShards</td><td><code>i32</code></td><td>
+</td><td>default</td><td></td></tr>
+<tr><td>5</td><td>state</td><td><code><a href="Blur.html#Enum_QueryState">QueryState</a></code></td><td>
+</td><td>default</td><td></td></tr>
+<tr><td>6</td><td>uuid</td><td><code>i64</code></td><td>
+</td><td>default</td><td></td></tr>
+</table><br/><p/>
+<br/></div><div class="definition"><h3 id="Struct_TableStats">Struct: TableStats</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>tableName</td><td><code>string</code></td><td>
+</td><td>default</td><td></td></tr>
+<tr><td>2</td><td>bytes</td><td><code>i64</code></td><td>
+</td><td>default</td><td></td></tr>
+<tr><td>3</td><td>recordCount</td><td><code>i64</code></td><td>
+</td><td>default</td><td></td></tr>
+<tr><td>4</td><td>rowCount</td><td><code>i64</code></td><td>
+</td><td>default</td><td></td></tr>
+<tr><td>5</td><td>queries</td><td><code>i64</code></td><td>
+</td><td>default</td><td></td></tr>
+</table><br/><p/>
+<br/></div><div class="definition"><h3 id="Struct_Schema">Struct: Schema</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>columnFamilies</td><td><code>map&lt;<code>string</code>, <code>set&lt;<code>string</code>&gt;</code>&gt;</code></td><td>
+</td><td>default</td><td></td></tr>
+</table><br/><p/>
+<br/></div><div class="definition"><h3 id="Struct_AlternateColumnDefinition">Struct: AlternateColumnDefinition</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>analyzerClassName</td><td><code>string</code></td><td>
+</td><td>default</td><td></td></tr>
+</table><br/><p/>
+<br/></div><div class="definition"><h3 id="Struct_ColumnDefinition">Struct: ColumnDefinition</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>analyzerClassName</td><td><code>string</code></td><td></td><td>default</td><td>"org.apache.lucene.analysis.standard.StandardAnalyzer"</td></tr>
+<tr><td>2</td><td>fullTextIndex</td><td><code>bool</code></td><td></td><td>default</td><td></td></tr>
+<tr><td>3</td><td>alternateColumnDefinitions</td><td><code>map&lt;<code>string</code>, <code><a href="Blur.html#Struct_AlternateColumnDefinition">AlternateColumnDefinition</a></code>&gt;</code></td><td></td><td>default</td><td></td></tr>
+</table><br/><p/>
+<br/></div><div class="definition"><h3 id="Struct_ColumnFamilyDefinition">Struct: ColumnFamilyDefinition</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>defaultDefinition</td><td><code><a href="Blur.html#Struct_ColumnDefinition">ColumnDefinition</a></code></td><td>
+</td><td>default</td><td></td></tr>
+<tr><td>2</td><td>columnDefinitions</td><td><code>map&lt;<code>string</code>, <code><a href="Blur.html#Struct_ColumnDefinition">ColumnDefinition</a></code>&gt;</code></td><td>
+</td><td>default</td><td></td></tr>
+</table><br/><p/>
+<br/></div><div class="definition"><h3 id="Struct_AnalyzerDefinition">Struct: AnalyzerDefinition</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>defaultDefinition</td><td><code><a href="Blur.html#Struct_ColumnDefinition">ColumnDefinition</a></code></td><td>
+</td><td>default</td><td></td></tr>
+<tr><td>2</td><td>fullTextAnalyzerClassName</td><td><code>string</code></td><td>
+</td><td>default</td><td>"org.apache.lucene.analysis.standard.StandardAnalyzer"</td></tr>
+<tr><td>3</td><td>columnFamilyDefinitions</td><td><code>map&lt;<code>string</code>, <code><a href="Blur.html#Struct_ColumnFamilyDefinition">ColumnFamilyDefinition</a></code>&gt;</code></td><td>
+</td><td>default</td><td></td></tr>
+</table><br/><p/>
+<br/></div><div class="definition"><h3 id="Struct_ColumnPreCache">Struct: ColumnPreCache</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>preCacheCols</td><td><code>list&lt;<code>string</code>&gt;</code></td><td>This map sets what column families and columns to prefetch into block cache on shard open.
+</td><td>default</td><td></td></tr>
+</table><br/><p/>
+<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>isEnabled</td><td><code>bool</code></td><td>
+</td><td>default</td><td>1</td></tr>
+<tr><td>2</td><td>analyzerDefinition</td><td><code><a href="Blur.html#Struct_AnalyzerDefinition">AnalyzerDefinition</a></code></td><td>
+</td><td>default</td><td></td></tr>
+<tr><td>3</td><td>shardCount</td><td><code>i32</code></td><td>
+</td><td>default</td><td>1</td></tr>
+<tr><td>4</td><td>tableUri</td><td><code>string</code></td><td>
+</td><td>default</td><td></td></tr>
+<tr><td>5</td><td>compressionClass</td><td><code>string</code></td><td>
+</td><td>default</td><td>"org.apache.hadoop.io.compress.DefaultCodec"</td></tr>
+<tr><td>6</td><td>compressionBlockSize</td><td><code>i32</code></td><td>
+</td><td>default</td><td>32768</td></tr>
+<tr><td>7</td><td>cluster</td><td><code>string</code></td><td>
+</td><td>default</td><td>"default"</td></tr>
+<tr><td>8</td><td>name</td><td><code>string</code></td><td>
+</td><td>default</td><td></td></tr>
+<tr><td>9</td><td>similarityClass</td><td><code>string</code></td><td>
+</td><td>default</td><td></td></tr>
+<tr><td>10</td><td>blockCaching</td><td><code>bool</code></td><td>
+</td><td>default</td><td>1</td></tr>
+<tr><td>11</td><td>blockCachingFileTypes</td><td><code>set&lt;<code>string</code>&gt;</code></td><td>
+</td><td>default</td><td></td></tr>
+<tr><td>12</td><td>readOnly</td><td><code>bool</code></td><td>If a table is set to be readonly, that means that mutates through Thrift are NOT allowed.  However
+updates through MapReduce are allowed and in fact they are only allowed if the table is in readOnly mode.
+</td><td>default</td><td>0</td></tr>
+<tr><td>13</td><td>columnPreCache</td><td><code><a href="Blur.html#Struct_ColumnPreCache">ColumnPreCache</a></code></td><td>Sets what column families and columns to prefetch into block cache on shard open.
+</td><td>default</td><td></td></tr>
+</table><br/><p/>
+<br/></div><hr/><h2 id="Services">Services</h2>
+<h3 id="Svc_Blur">Service: Blur</h3>
+<p/>
+<br/><div class="definition"><h4 id="Fn_Blur_shardClusterList">Function: Blur.shardClusterList</h4>
+<pre><code>list&lt;<code>string</code>&gt;</code> shardClusterList()
+    throws <code><a href="Blur.html#Struct_BlurException">BlurException</a></code>
+</pre>Returns a list of all the shard clusters.
+<br/></div><div class="definition"><h4 id="Fn_Blur_shardServerList">Function: Blur.shardServerList</h4>
+<pre><code>list&lt;<code>string</code>&gt;</code> shardServerList(<code>string</code> cluster)
+    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.
+<br/></div><div class="definition"><h4 id="Fn_Blur_controllerServerList">Function: Blur.controllerServerList</h4>
+<pre><code>list&lt;<code>string</code>&gt;</code> controllerServerList()
+    throws <code><a href="Blur.html#Struct_BlurException">BlurException</a></code>
+</pre>Returns a list of all the controller servers.
+<br/></div><div class="definition"><h4 id="Fn_Blur_shardServerLayout">Function: Blur.shardServerLayout</h4>
+<pre><code>map&lt;<code>string</code>, <code>string</code>&gt;</code> shardServerLayout(<code>string</code> table)
+    throws <code><a href="Blur.html#Struct_BlurException">BlurException</a></code>
+</pre>Returns a map of the layout of the given table, where the key is the shard name and the value is the shard server.
+@param table the table name.
+<br/></div><div class="definition"><h4 id="Fn_Blur_tableList">Function: Blur.tableList</h4>
+<pre><code>list&lt;<code>string</code>&gt;</code> tableList()
+    throws <code><a href="Blur.html#Struct_BlurException">BlurException</a></code>
+</pre>Returns a list of the table names across all shard clusters.
+<br/></div><div class="definition"><h4 id="Fn_Blur_tableListByCluster">Function: Blur.tableListByCluster</h4>
+<pre><code>list&lt;<code>string</code>&gt;</code> tableListByCluster(<code>string</code> cluster)
+    throws <code><a href="Blur.html#Struct_BlurException">BlurException</a></code>
+</pre>Returns a list of the table names for the given cluster.
+@param cluster the cluster name.
+<br/></div><div class="definition"><h4 id="Fn_Blur_describe">Function: Blur.describe</h4>
+<pre><code><a href="Blur.html#Struct_TableDescriptor">TableDescriptor</a></code> describe(<code>string</code> table)
+    throws <code><a href="Blur.html#Struct_BlurException">BlurException</a></code>
+</pre>Returns a table descriptor for the given table.
+@param table the table name.
+<br/></div><div class="definition"><h4 id="Fn_Blur_query">Function: Blur.query</h4>
+<pre><code><a href="Blur.html#Struct_BlurResults">BlurResults</a></code> query(<code>string</code> table,
+                  <code><a href="Blur.html#Struct_BlurQuery">BlurQuery</a></code> blurQuery)
+    throws <code><a href="Blur.html#Struct_BlurException">BlurException</a></code>
+</pre>Executes a query against a the given table and returns the results.  If this method is executed against a controller the results will contain the aggregated results from all the shards.  If this method is executed against a shard server the results will only contain aggregated results from the shards of the given table that are being served on the shard server, if any.
+@param table the table name.
+@param blurQuery the query to execute.
+<br/></div><div class="definition"><h4 id="Fn_Blur_cancelQuery">Function: Blur.cancelQuery</h4>
+<pre><code>void</code> cancelQuery(<code>string</code> table,
+                 <code>i64</code> uuid)
+    throws <code><a href="Blur.html#Struct_BlurException">BlurException</a></code>
+</pre>Cancels a query that is executing against the given table with the given uuid.  Note, the cancel call maybe take some time for the query actually stops executing.
+@param table the table name.
+@param uuid the uuid of the query.
+<br/></div><div class="definition"><h4 id="Fn_Blur_currentQueries">Function: Blur.currentQueries</h4>
+<pre><code>list&lt;<code><a href="Blur.html#Struct_BlurQueryStatus">BlurQueryStatus</a></code>&gt;</code> currentQueries(<code>string</code> table)
+    throws <code><a href="Blur.html#Struct_BlurException">BlurException</a></code>
+</pre>@deprecated This method should avoided, @see #queryStatusIdList and #queryStatusById.
+@param table the table name.
+<br/></div><div class="definition"><h4 id="Fn_Blur_queryStatusIdList">Function: Blur.queryStatusIdList</h4>
+<pre><code>list&lt;<code>i64</code>&gt;</code> queryStatusIdList(<code>string</code> table)
+    throws <code><a href="Blur.html#Struct_BlurException">BlurException</a></code>
+</pre>Returns a list of the query ids of queries that have recently been executed for the given table.
+@param table the table name.
+<br/></div><div class="definition"><h4 id="Fn_Blur_queryStatusById">Function: Blur.queryStatusById</h4>
+<pre><code><a href="Blur.html#Struct_BlurQueryStatus">BlurQueryStatus</a></code> queryStatusById(<code>string</code> table,
+                                <code>i64</code> uuid)
+    throws <code><a href="Blur.html#Struct_BlurException">BlurException</a></code>
+</pre>Returns the query status for the given table and query uuid.
+@param table the table name.
+@param uuid the uuid of the query.
+<br/></div><div class="definition"><h4 id="Fn_Blur_schema">Function: Blur.schema</h4>
+<pre><code><a href="Blur.html#Struct_Schema">Schema</a></code> schema(<code>string</code> table)
+    throws <code><a href="Blur.html#Struct_BlurException">BlurException</a></code>
+</pre></div><div class="definition"><h4 id="Fn_Blur_getTableStats">Function: Blur.getTableStats</h4>
+<pre><code><a href="Blur.html#Struct_TableStats">TableStats</a></code> getTableStats(<code>string</code> table)
+    throws <code><a href="Blur.html#Struct_BlurException">BlurException</a></code>
+</pre></div><div class="definition"><h4 id="Fn_Blur_tableStats">Function: Blur.tableStats</h4>
+<pre><code><a href="Blur.html#Struct_TableStats">TableStats</a></code> tableStats(<code>string</code> table)
+    throws <code><a href="Blur.html#Struct_BlurException">BlurException</a></code>
+</pre></div><div class="definition"><h4 id="Fn_Blur_terms">Function: Blur.terms</h4>
+<pre><code>list&lt;<code>string</code>&gt;</code> terms(<code>string</code> table,
+                   <code>string</code> columnFamily,
+                   <code>string</code> columnName,
+                   <code>string</code> startWith,
+                   <code>i16</code> size)
+    throws <code><a href="Blur.html#Struct_BlurException">BlurException</a></code>
+</pre></div><div class="definition"><h4 id="Fn_Blur_recordFrequency">Function: Blur.recordFrequency</h4>
+<pre><code>i64</code> recordFrequency(<code>string</code> table,
+                    <code>string</code> columnFamily,
+                    <code>string</code> columnName,
+                    <code>string</code> value)
+    throws <code><a href="Blur.html#Struct_BlurException">BlurException</a></code>
+</pre></div><div class="definition"><h4 id="Fn_Blur_fetchRow">Function: Blur.fetchRow</h4>
+<pre><code><a href="Blur.html#Struct_FetchResult">FetchResult</a></code> fetchRow(<code>string</code> table,
+                     <code><a href="Blur.html#Struct_Selector">Selector</a></code> selector)
+    throws <code><a href="Blur.html#Struct_BlurException">BlurException</a></code>
+</pre></div><div class="definition"><h4 id="Fn_Blur_mutate">Function: Blur.mutate</h4>
+<pre><code>void</code> mutate(<code><a href="Blur.html#Struct_RowMutation">RowMutation</a></code> mutation)
+    throws <code><a href="Blur.html#Struct_BlurException">BlurException</a></code>
+</pre></div><div class="definition"><h4 id="Fn_Blur_mutateBatch">Function: Blur.mutateBatch</h4>
+<pre><code>void</code> mutateBatch(<code>list&lt;<code><a href="Blur.html#Struct_RowMutation">RowMutation</a></code>&gt;</code> mutations)
+    throws <code><a href="Blur.html#Struct_BlurException">BlurException</a></code>
+</pre></div><div class="definition"><h4 id="Fn_Blur_createTable">Function: Blur.createTable</h4>
+<pre><code>void</code> createTable(<code><a href="Blur.html#Struct_TableDescriptor">TableDescriptor</a></code> tableDescriptor)
+    throws <code><a href="Blur.html#Struct_BlurException">BlurException</a></code>
+</pre></div><div class="definition"><h4 id="Fn_Blur_enableTable">Function: Blur.enableTable</h4>
+<pre><code>void</code> enableTable(<code>string</code> table)
+    throws <code><a href="Blur.html#Struct_BlurException">BlurException</a></code>
+</pre></div><div class="definition"><h4 id="Fn_Blur_disableTable">Function: Blur.disableTable</h4>
+<pre><code>void</code> disableTable(<code>string</code> table)
+    throws <code><a href="Blur.html#Struct_BlurException">BlurException</a></code>
+</pre></div><div class="definition"><h4 id="Fn_Blur_removeTable">Function: Blur.removeTable</h4>
+<pre><code>void</code> removeTable(<code>string</code> table,
+                 <code>bool</code> deleteIndexFiles)
+    throws <code><a href="Blur.html#Struct_BlurException">BlurException</a></code>
+</pre></div><div class="definition"><h4 id="Fn_Blur_optimize">Function: Blur.optimize</h4>
+<pre><code>void</code> optimize(<code>string</code> table,
+              <code>i32</code> numberOfSegmentsPerShard)
+    throws <code><a href="Blur.html#Struct_BlurException">BlurException</a></code>
+</pre></div><div class="definition"><h4 id="Fn_Blur_isInSafeMode">Function: Blur.isInSafeMode</h4>
+<pre><code>bool</code> isInSafeMode(<code>string</code> cluster)
+    throws <code><a href="Blur.html#Struct_BlurException">BlurException</a></code>
+</pre></div><div class="definition"><h4 id="Fn_Blur_configuration">Function: Blur.configuration</h4>
+<pre><code>map&lt;<code>string</code>, <code>string</code>&gt;</code> configuration()
+    throws <code><a href="Blur.html#Struct_BlurException">BlurException</a></code>
+</pre></div></div></body></html>

http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/a4601422/src/distribution/src/main/scripts/interface/gen-html/index.html
----------------------------------------------------------------------
diff --git a/src/distribution/src/main/scripts/interface/gen-html/index.html b/src/distribution/src/main/scripts/interface/gen-html/index.html
new file mode 100644
index 0000000..78d436d
--- /dev/null
+++ b/src/distribution/src/main/scripts/interface/gen-html/index.html
@@ -0,0 +1,72 @@
+<html><head>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+<title>All Thrift declarations</title></head><body>
+<div class="container-fluid">
+<h1>All Thrift declarations</h1>
+<table class="table-bordered table-striped table-condensed"><thead><th>Module</th><th>Services</th><th>Data types</th><th>Constants</th></thead>
+<tr>
+<td>Blur</td><td><a href="Blur.html#Svc_Blur">Blur</a><br/>
+<ul>
+<li><a href="Blur.html#Fn_Blur_cancelQuery">cancelQuery</a></li>
+<li><a href="Blur.html#Fn_Blur_configuration">configuration</a></li>
+<li><a href="Blur.html#Fn_Blur_controllerServerList">controllerServerList</a></li>
+<li><a href="Blur.html#Fn_Blur_createTable">createTable</a></li>
+<li><a href="Blur.html#Fn_Blur_currentQueries">currentQueries</a></li>
+<li><a href="Blur.html#Fn_Blur_describe">describe</a></li>
+<li><a href="Blur.html#Fn_Blur_disableTable">disableTable</a></li>
+<li><a href="Blur.html#Fn_Blur_enableTable">enableTable</a></li>
+<li><a href="Blur.html#Fn_Blur_fetchRow">fetchRow</a></li>
+<li><a href="Blur.html#Fn_Blur_getTableStats">getTableStats</a></li>
+<li><a href="Blur.html#Fn_Blur_isInSafeMode">isInSafeMode</a></li>
+<li><a href="Blur.html#Fn_Blur_mutate">mutate</a></li>
+<li><a href="Blur.html#Fn_Blur_mutateBatch">mutateBatch</a></li>
+<li><a href="Blur.html#Fn_Blur_optimize">optimize</a></li>
+<li><a href="Blur.html#Fn_Blur_query">query</a></li>
+<li><a href="Blur.html#Fn_Blur_queryStatusById">queryStatusById</a></li>
+<li><a href="Blur.html#Fn_Blur_queryStatusIdList">queryStatusIdList</a></li>
+<li><a href="Blur.html#Fn_Blur_recordFrequency">recordFrequency</a></li>
+<li><a href="Blur.html#Fn_Blur_removeTable">removeTable</a></li>
+<li><a href="Blur.html#Fn_Blur_schema">schema</a></li>
+<li><a href="Blur.html#Fn_Blur_shardClusterList">shardClusterList</a></li>
+<li><a href="Blur.html#Fn_Blur_shardServerLayout">shardServerLayout</a></li>
+<li><a href="Blur.html#Fn_Blur_shardServerList">shardServerList</a></li>
+<li><a href="Blur.html#Fn_Blur_tableList">tableList</a></li>
+<li><a href="Blur.html#Fn_Blur_tableListByCluster">tableListByCluster</a></li>
+<li><a href="Blur.html#Fn_Blur_tableStats">tableStats</a></li>
+<li><a href="Blur.html#Fn_Blur_terms">terms</a></li>
+</ul>
+</td>
+<td><a href="Blur.html#Struct_AlternateColumnDefinition">AlternateColumnDefinition</a><br/>
+<a href="Blur.html#Struct_AnalyzerDefinition">AnalyzerDefinition</a><br/>
+<a href="Blur.html#Struct_BlurException">BlurException</a><br/>
+<a href="Blur.html#Struct_BlurQuery">BlurQuery</a><br/>
+<a href="Blur.html#Struct_BlurQueryStatus">BlurQueryStatus</a><br/>
+<a href="Blur.html#Struct_BlurResult">BlurResult</a><br/>
+<a href="Blur.html#Struct_BlurResults">BlurResults</a><br/>
+<a href="Blur.html#Struct_Column">Column</a><br/>
+<a href="Blur.html#Struct_ColumnDefinition">ColumnDefinition</a><br/>
+<a href="Blur.html#Struct_ColumnFamilyDefinition">ColumnFamilyDefinition</a><br/>
+<a href="Blur.html#Struct_ColumnPreCache">ColumnPreCache</a><br/>
+<a href="Blur.html#Struct_CpuTime">CpuTime</a><br/>
+<a href="Blur.html#Struct_ExpertQuery">ExpertQuery</a><br/>
+<a href="Blur.html#Struct_Facet">Facet</a><br/>
+<a href="Blur.html#Struct_FetchRecordResult">FetchRecordResult</a><br/>
+<a href="Blur.html#Struct_FetchResult">FetchResult</a><br/>
+<a href="Blur.html#Struct_FetchRowResult">FetchRowResult</a><br/>
+<a href="Blur.html#Enum_QueryState">QueryState</a><br/>
+<a href="Blur.html#Struct_Record">Record</a><br/>
+<a href="Blur.html#Struct_RecordMutation">RecordMutation</a><br/>
+<a href="Blur.html#Enum_RecordMutationType">RecordMutationType</a><br/>
+<a href="Blur.html#Struct_Row">Row</a><br/>
+<a href="Blur.html#Struct_RowMutation">RowMutation</a><br/>
+<a href="Blur.html#Enum_RowMutationType">RowMutationType</a><br/>
+<a href="Blur.html#Struct_Schema">Schema</a><br/>
+<a href="Blur.html#Enum_ScoreType">ScoreType</a><br/>
+<a href="Blur.html#Struct_Selector">Selector</a><br/>
+<a href="Blur.html#Struct_SimpleQuery">SimpleQuery</a><br/>
+<a href="Blur.html#Struct_TableDescriptor">TableDescriptor</a><br/>
+<a href="Blur.html#Struct_TableStats">TableStats</a><br/>
+</td>
+<td></code></td>
+</tr></table>
+</div></body></html>


Mime
View raw message