<!DOCTYPE html>
<!--
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.
-->
<html>
<head>
<title>Blur API - Apache Blur (Incubator) Documentation</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!-- Bootstrap -->
<link href="resources/css/bootstrap.min.css" rel="stylesheet" media="screen">
<link href="resources/css/bs-docs.css" rel="stylesheet" media="screen">
</head>
<body>
<div class="navbar navbar-inverse navbar-fixed-top">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="http://incubator.apache.org/blur">Apache Blur (Incubator)</a>
</div>
<div class="collapse navbar-collapse">
<ul class="nav navbar-nav">
<li><a href="index.html">Main</a></li>
<li><a href="getting-started.html">Getting Started</a></li>
<li><a href="data-model.html">Data Model</a></li>
<li><a href="cluster-setup.html">Cluster Setup</a></li>
<li><a href="using-blur.html">Using Blur</a></li>
<li class="active"><a href="Blur.html">Blur API</a></li>
<li><a href="console.html">Console</a></li>
</ul>
</div>
</div>
</div>
<div class="container bs-docs-container">
<div class="row">
<div class="col-md-3">
<div class="bs-sidebar hidden-print affix" role="complementary">
<ul class="nav bs-sidenav">
<li><a href="#Enumerations">Enumerations</a>
<ul class="nav">
<li><a href="#Enum_ErrorType">ErrorType</a></li>
<li><a href="#Enum_ScoreType">ScoreType</a></li>
<li><a href="#Enum_QueryState">QueryState</a></li>
<li><a href="#Enum_Status">Status</a></li>
<li><a href="#Enum_RowMutationType">RowMutationType</a></li>
<li><a href="#Enum_RecordMutationType">RecordMutationType</a></li>
<li><a href="#Enum_ShardState">ShardState</a></li>
<li><a href="#Enum_Level">Level</a></li>
<li><a href="#Enum_BlurObjectType">BlurObjectType</a></li>
<li><a href="#Enum_CommandStatusState">CommandStatusState</a></li>
</ul>
</li>
<li><a href="#Structs">Data structures</a>
<ul class="nav">
<li><a href="#Struct_BlurException">BlurException</a></li>
<li><a href="#Struct_TimeoutException">TimeoutException</a></li>
<li><a href="#Struct_User">User</a></li>
<li><a href="#Struct_Column">Column</a></li>
<li><a href="#Struct_Record">Record</a></li>
<li><a href="#Struct_Row">Row</a></li>
<li><a href="#Struct_Query">Query</a></li>
<li><a href="#Struct_HighlightOptions">HighlightOptions</a></li>
<li><a href="#Struct_Selector">Selector</a></li>
<li><a href="#Struct_FetchRowResult">FetchRowResult</a></li>
<li><a href="#Struct_FetchRecordResult">FetchRecordResult</a></li>
<li><a href="#Struct_FetchResult">FetchResult</a></li>
<li><a href="#Struct_Facet">Facet</a></li>
<li><a href="#Struct_SortField">SortField</a></li>
<li><a href="#Struct_BlurQuery">BlurQuery</a></li>
<li><a href="#Struct_SortFieldResult">SortFieldResult</a></li>
<li><a href="#Struct_BlurResult">BlurResult</a></li>
<li><a href="#Struct_BlurResults">BlurResults</a></li>
<li><a href="#Struct_RecordMutation">RecordMutation</a></li>
<li><a href="#Struct_RowMutation">RowMutation</a></li>
<li><a href="#Struct_CpuTime">CpuTime</a></li>
<li><a href="#Struct_BlurQueryStatus">BlurQueryStatus</a></li>
<li><a href="#Struct_TableStats">TableStats</a></li>
<li><a href="#Struct_ColumnDefinition">ColumnDefinition</a></li>
<li><a href="#Struct_Schema">Schema</a></li>
<li><a href="#Struct_TableDescriptor">TableDescriptor</a></li>
<li><a href="#Struct_Metric">Metric</a></li>
<li><a href="#Struct_Value">Value</a></li>
<li><a href="#Struct_Shard">Shard</a></li>
<li><a href="#Struct_Server">Server</a></li>
<li><a href="#Struct_BlurPackedObject">BlurPackedObject</a></li>
<li><a href="#Struct_ValueObject">ValueObject</a></li>
<li><a href="#Struct_Response">Response</a></li>
<li><a href="#Struct_Arguments">Arguments</a></li>
<li><a href="#Struct_CommandStatus">CommandStatus</a></li>
<li><a href="#Struct_ArgumentDescriptor">ArgumentDescriptor</a></li>
<li><a href="#Struct_CommandDescriptor">CommandDescriptor</a></li>
</ul>
</li>
<li><a href="#Svc_Blur">Service</a>
<ul class="nav">
<li><a href="#Fn_Blur_listInstalledCommands">Table Methods</a><ul class="nav">
<li><a href="#Fn_Blur_listInstalledCommands">&nbsp;&nbsp;listInstalledCommands</a></li>
<li><a href="#Fn_Blur_execute">&nbsp;&nbsp;execute</a></li>
<li><a href="#Fn_Blur_reconnect">&nbsp;&nbsp;reconnect</a></li>
<li><a href="#Fn_Blur_commandStatusList">&nbsp;&nbsp;commandStatusList</a></li>
<li><a href="#Fn_Blur_commandStatus">&nbsp;&nbsp;commandStatus</a></li>
<li><a href="#Fn_Blur_commandCancel">&nbsp;&nbsp;commandCancel</a></li>
<li><a href="#Fn_Blur_refresh">&nbsp;&nbsp;refresh</a></li>
<li><a href="#Fn_Blur_createTable">&nbsp;&nbsp;createTable</a></li>
<li><a href="#Fn_Blur_enableTable">&nbsp;&nbsp;enableTable</a></li>
<li><a href="#Fn_Blur_disableTable">&nbsp;&nbsp;disableTable</a></li>
<li><a href="#Fn_Blur_removeTable">&nbsp;&nbsp;removeTable</a></li>
<li><a href="#Fn_Blur_addColumnDefinition">&nbsp;&nbsp;addColumnDefinition</a></li>
<li><a href="#Fn_Blur_tableList">&nbsp;&nbsp;tableList</a></li>
<li><a href="#Fn_Blur_tableListByCluster">&nbsp;&nbsp;tableListByCluster</a></li>
<li><a href="#Fn_Blur_describe">&nbsp;&nbsp;describe</a></li>
<li><a href="#Fn_Blur_schema">&nbsp;&nbsp;schema</a></li>
<li><a href="#Fn_Blur_parseQuery">&nbsp;&nbsp;parseQuery</a></li>
<li><a href="#Fn_Blur_tableStats">&nbsp;&nbsp;tableStats</a></li>
<li><a href="#Fn_Blur_optimize">&nbsp;&nbsp;optimize</a></li>
<li><a href="#Fn_Blur_createSnapshot">&nbsp;&nbsp;createSnapshot</a></li>
<li><a href="#Fn_Blur_removeSnapshot">&nbsp;&nbsp;removeSnapshot</a></li>
<li><a href="#Fn_Blur_listSnapshots">&nbsp;&nbsp;listSnapshots</a></li>
<li><a href="#Fn_Blur_setUser">&nbsp;&nbsp;setUser</a></li>
</ul></li>
<li><a href="#Fn_Blur_query">Data Methods</a><ul class="nav">
<li><a href="#Fn_Blur_query">&nbsp;&nbsp;query</a></li>
<li><a href="#Fn_Blur_fetchRow">&nbsp;&nbsp;fetchRow</a></li>
<li><a href="#Fn_Blur_fetchRowBatch">&nbsp;&nbsp;fetchRowBatch</a></li>
<li><a href="#Fn_Blur_loadData">&nbsp;&nbsp;loadData</a></li>
<li><a href="#Fn_Blur_validateIndex">&nbsp;&nbsp;validateIndex</a></li>
<li><a href="#Fn_Blur_loadIndex">&nbsp;&nbsp;loadIndex</a></li>
<li><a href="#Fn_Blur_mutate">&nbsp;&nbsp;mutate</a></li>
<li><a href="#Fn_Blur_enqueueMutate">&nbsp;&nbsp;enqueueMutate</a></li>
<li><a href="#Fn_Blur_mutateBatch">&nbsp;&nbsp;mutateBatch</a></li>
<li><a href="#Fn_Blur_enqueueMutateBatch">&nbsp;&nbsp;enqueueMutateBatch</a></li>
<li><a href="#Fn_Blur_bulkMutateStart">&nbsp;&nbsp;bulkMutateStart</a></li>
<li><a href="#Fn_Blur_bulkMutateAdd">&nbsp;&nbsp;bulkMutateAdd</a></li>
<li><a href="#Fn_Blur_bulkMutateAddMultiple">&nbsp;&nbsp;bulkMutateAddMultiple</a></li>
<li><a href="#Fn_Blur_bulkMutateFinish">&nbsp;&nbsp;bulkMutateFinish</a></li>
<li><a href="#Fn_Blur_cancelQuery">&nbsp;&nbsp;cancelQuery</a></li>
<li><a href="#Fn_Blur_queryStatusIdList">&nbsp;&nbsp;queryStatusIdList</a></li>
<li><a href="#Fn_Blur_queryStatusById">&nbsp;&nbsp;queryStatusById</a></li>
<li><a href="#Fn_Blur_terms">&nbsp;&nbsp;terms</a></li>
<li><a href="#Fn_Blur_recordFrequency">&nbsp;&nbsp;recordFrequency</a></li>
</ul></li>
<li><a href="#Fn_Blur_shardClusterList">Cluster Methods</a><ul class="nav">
<li><a href="#Fn_Blur_shardClusterList">&nbsp;&nbsp;shardClusterList</a></li>
<li><a href="#Fn_Blur_shardServerList">&nbsp;&nbsp;shardServerList</a></li>
<li><a href="#Fn_Blur_controllerServerList">&nbsp;&nbsp;controllerServerList</a></li>
<li><a href="#Fn_Blur_shardServerLayout">&nbsp;&nbsp;shardServerLayout</a></li>
<li><a href="#Fn_Blur_shardServerLayoutState">&nbsp;&nbsp;shardServerLayoutState</a></li>
<li><a href="#Fn_Blur_isInSafeMode">&nbsp;&nbsp;isInSafeMode</a></li>
<li><a href="#Fn_Blur_configuration">&nbsp;&nbsp;configuration</a></li>
<li><a href="#Fn_Blur_configurationPerServer">&nbsp;&nbsp;configurationPerServer</a></li>
<li><a href="#Fn_Blur_metrics">&nbsp;&nbsp;metrics</a></li>
<li><a href="#Fn_Blur_startTrace">&nbsp;&nbsp;startTrace</a></li>
<li><a href="#Fn_Blur_traceList">&nbsp;&nbsp;traceList</a></li>
<li><a href="#Fn_Blur_traceRequestList">&nbsp;&nbsp;traceRequestList</a></li>
<li><a href="#Fn_Blur_traceRequestFetch">&nbsp;&nbsp;traceRequestFetch</a></li>
<li><a href="#Fn_Blur_traceRemove">&nbsp;&nbsp;traceRemove</a></li>
<li><a href="#Fn_Blur_ping">&nbsp;&nbsp;ping</a></li>
<li><a href="#Fn_Blur_logging">&nbsp;&nbsp;logging</a></li>
<li><a href="#Fn_Blur_resetLogging">&nbsp;&nbsp;resetLogging</a></li>
</ul></li>
</ul>
</li>
</ul>
</div>
</div>
<div class="col-md-9" role="main">
<hr/><h2 id="Enumerations">Enumerations</h2>
<section><div class="page-header"><h3 id="Enum_ErrorType">Enumeration: ErrorType</h3></div><p class="lead">
<table class="table-bordered table-striped table-condensed">
<tr><td colspan="2">The error type of a BlurException.</td></tr>
<tr><td>UNKNOWN</td><td>Unknown error.</td></tr>
<tr><td>QUERY_CANCEL</td><td>Query has been cancel.</td></tr>
<tr><td>QUERY_TIMEOUT</td><td>Query has timed out.</td></tr>
<tr><td>BACK_PRESSURE</td><td>Server has run out of memory and is trying to prevent a failure.</td></tr>
<tr><td>REQUEST_TIMEOUT</td><td>The TCP connection has timed out.</td></tr>
</table>
<br/><br/><table class="table-bordered table-striped table-condensed">
<tr><td><code>UNKNOWN</code></td><td><code>0</code></td></tr>
<tr><td><code>QUERY_CANCEL</code></td><td><code>1</code></td></tr>
<tr><td><code>QUERY_TIMEOUT</code></td><td><code>2</code></td></tr>
<tr><td><code>BACK_PRESSURE</code></td><td><code>3</code></td></tr>
<tr><td><code>REQUEST_TIMEOUT</code></td><td><code>4</code></td></tr>
</table></p></section>
<section><div class="page-header"><h3 id="Enum_ScoreType">Enumeration: ScoreType</h3></div><p class="lead">
<table class="table-bordered table-striped table-condensed">
<tr><td colspan="2">The scoring type used during a SuperQuery to score multi Record hits within a ColumnFamily.</td></tr>
<tr><td>SUPER</td><td>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.</td></tr>
<tr><td>AGGREGATE</td><td>During a multi Record match, the aggregate score of all the Records within a ColumnFamily is used in the scoring of the SuperQuery.</td></tr>
<tr><td>BEST</td><td>During a multi Record match, the best score of all the Records within a ColumnFamily is used in the scoring of the SuperQuery.</td></tr>
<tr><td>CONSTANT</td><td>A constant score of 1 is used in the scoring of the SuperQuery.</td></tr>
</table>
<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></p></section>
<section><div class="page-header"><h3 id="Enum_QueryState">Enumeration: QueryState</h3></div><p class="lead">
<table class="table-bordered table-striped table-condensed">
<tr><td colspan="2">The state of a query.</td></tr>
<tr><td>RUNNING</td><td>Query is running.</td></tr>
<tr><td>INTERRUPTED</td><td>Query has been interrupted.</td></tr>
<tr><td>COMPLETE</td><td>Query is complete.</td></tr>
</table>
<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>
<tr><td><code>BACK_PRESSURE_INTERRUPTED</code></td><td><code>3</code></td></tr>
</table></p></section>
<section><div class="page-header"><h3 id="Enum_Status">Enumeration: Status</h3></div><p class="lead">
<table class="table-bordered table-striped table-condensed">
<tr><td>NOT_FOUND</td><td>Blur status UUID is not found.</td></tr>
<tr><td>FOUND</td><td>Blur status UUID is present.</td></tr>
</table>
<br/><br/><table class="table-bordered table-striped table-condensed">
<tr><td><code>NOT_FOUND</code></td><td><code>0</code></td></tr>
<tr><td><code>FOUND</code></td><td><code>1</code></td></tr>
</table></p></section>
<section><div class="page-header"><h3 id="Enum_RowMutationType">Enumeration: RowMutationType</h3></div><p class="lead">
<table class="table-bordered table-striped table-condensed">
<tr><td colspan="2">Specifies the type of Row mutation that should occur during a mutation of a given Row.</td></tr>
<tr><td>DELETE_ROW</td><td>Indicates that the entire Row is to be deleted.  No changes are made if the specified row does not exist.</td></tr>
<tr><td>REPLACE_ROW</td><td>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.</td></tr>
<tr><td>UPDATE_ROW</td><td>Indicates that mutations of the underlying Records will be processed individually.  Mutation will result in a BlurException if the specified row does not exist.</td></tr>
</table>
<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></p></section>
<section><div class="page-header"><h3 id="Enum_RecordMutationType">Enumeration: RecordMutationType</h3></div><p class="lead">
<table class="table-bordered table-striped table-condensed">
<tr><td colspan="2">Specifies the type of Record mutation that should occur during a mutation of a given Record.</td></tr>
<tr><td>DELETE_ENTIRE_RECORD</td><td>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.</td></tr>
<tr><td>REPLACE_ENTIRE_RECORD</td><td>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.</td></tr>
<tr><td>REPLACE_COLUMNS</td><td>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.</td></tr>
<tr><td>APPEND_COLUMN_VALUES</td><td>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.</td></tr>
</table>
<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></p></section>
<section><div class="page-header"><h3 id="Enum_ShardState">Enumeration: ShardState</h3></div><p class="lead">
<table class="table-bordered table-striped table-condensed">
<tr><td colspan="2">The shard state, see shardServerLayoutOptions method in the Blur service for details.</td></tr>
<tr><td>OPENING</td><td>The shard is opening.</td></tr>
<tr><td>OPEN</td><td>The shard is open.</td></tr>
<tr><td>OPENING_ERROR</td><td>An error during the opening of the shard.</td></tr>
<tr><td>CLOSING</td><td>In the process of closing.</td></tr>
<tr><td>CLOSED</td><td>The shard is closed.</td></tr>
<tr><td>CLOSING_ERROR</td><td>An error during the closing of the shard.</td></tr>
</table>
<br/><br/><table class="table-bordered table-striped table-condensed">
<tr><td><code>OPENING</code></td><td><code>0</code></td></tr>
<tr><td><code>OPEN</code></td><td><code>1</code></td></tr>
<tr><td><code>OPENING_ERROR</code></td><td><code>2</code></td></tr>
<tr><td><code>CLOSING</code></td><td><code>3</code></td></tr>
<tr><td><code>CLOSED</code></td><td><code>4</code></td></tr>
<tr><td><code>CLOSING_ERROR</code></td><td><code>5</code></td></tr>
</table></p></section>
<section><div class="page-header"><h3 id="Enum_Level">Enumeration: Level</h3></div><p class="lead">
Logging level enum used to change the logging levels at runtime.
<br/><br/><table class="table-bordered table-striped table-condensed">
<tr><td><code>OFF</code></td><td><code>0</code></td></tr>
<tr><td><code>FATAL</code></td><td><code>1</code></td></tr>
<tr><td><code>ERROR</code></td><td><code>2</code></td></tr>
<tr><td><code>WARN</code></td><td><code>3</code></td></tr>
<tr><td><code>INFO</code></td><td><code>4</code></td></tr>
<tr><td><code>DEBUG</code></td><td><code>5</code></td></tr>
<tr><td><code>TRACE</code></td><td><code>6</code></td></tr>
<tr><td><code>ALL</code></td><td><code>7</code></td></tr>
</table></p></section>
<section><div class="page-header"><h3 id="Enum_BlurObjectType">Enumeration: BlurObjectType</h3></div><p class="lead">
<br/><table class="table-bordered table-striped table-condensed">
<tr><td><code>MAP</code></td><td><code>0</code></td></tr>
<tr><td><code>LIST</code></td><td><code>1</code></td></tr>
<tr><td><code>NAME</code></td><td><code>2</code></td></tr>
<tr><td><code>VALUE</code></td><td><code>3</code></td></tr>
</table></p></section>
<section><div class="page-header"><h3 id="Enum_CommandStatusState">Enumeration: CommandStatusState</h3></div><p class="lead">
<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></p></section>
<hr/><h2 id="Structs">Data structures</h2>
<section><div class="page-header"><h3 id="Struct_BlurException">Exception: BlurException</h3></div><p class="lead">
<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>
<tr><td>3</td><td>errorType</td><td><code><a href="Blur.html#Enum_ErrorType">ErrorType</a></code></td><td></td><td>default</td><td></td></tr>
</table><br/>BlurException that carries a message plus the original stack
trace (if any).
<br/></p></section><section><div class="page-header"><h3 id="Struct_TimeoutException">Exception: TimeoutException</h3></div><p class="lead">
<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>instanceExecutionId</td><td><code>i64</code></td><td></td><td>default</td><td></td></tr>
</table><br/>TimeoutException occurs before the network connection timeout
happens so that the client can reconnect.
<br/></p></section><section><div class="page-header"><h3 id="Struct_User">Struct: User</h3></div><p class="lead">
<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>username</td><td><code>string</code></td><td>username.
</td><td>default</td><td></td></tr>
<tr><td>2</td><td>attributes</td><td><code>map&lt;<code>string</code>, <code>string</code>&gt;</code></td><td>map of user attributes.
</td><td>default</td><td></td></tr>
</table><br/>The user object is used to pass user context to server
side session.
<br/></p></section><section><div class="page-header"><h3 id="Struct_Column">Struct: Column</h3></div><p class="lead">
<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/></p></section><section><div class="page-header"><h3 id="Struct_Record">Struct: Record</h3></div><p class="lead">
<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/></p></section><section><div class="page-header"><h3 id="Struct_Row">Struct: Row</h3></div><p class="lead">
<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>
</table><br/>Rows contain a list of records.
<br/></p></section><section><div class="page-header"><h3 id="Struct_Query">Struct: Query</h3></div><p class="lead">
<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>string</code></td><td>A Lucene syntax based query.
</td><td>default</td><td></td></tr>
<tr><td>2</td><td>rowQuery</td><td><code>bool</code></td><td>If the Row 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>scoreType</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>rowFilter</td><td><code>string</code></td><td>The Row filter (normal Lucene syntax), is a filter performed
after the join to filter out entire Rows from the results.  This
field is ignored when rowQuery is false.
</td><td>default</td><td></td></tr>
<tr><td>5</td><td>recordFilter</td><td><code>string</code></td><td>The Record 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 Query object holds the query string (normal Lucene syntax),
filters and type of scoring (used when super query is on).
<br/></p></section><section><div class="page-header"><h3 id="Struct_HighlightOptions">Struct: HighlightOptions</h3></div><p class="lead">
<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_Query">Query</a></code></td><td>The original query is required if used in the Blur.fetchRow call.  If
the highlightOptions is used in a call to Blur.query then the Query
passed into the call via the BlurQuery will be used if this query is
null.  So that means if you use highlighting from the query call you can
leave this attribute null and it will default to the normal behavior.
</td><td>default</td><td></td></tr>
<tr><td>2</td><td>preTag</td><td><code>string</code></td><td>The pre tag is the tag that marks the beginning of the highlighting.
</td><td>default</td><td>"&lt;&lt;&lt;"</td></tr>
<tr><td>3</td><td>postTag</td><td><code>string</code></td><td>The post tag is the tag that marks the end of the highlighting.
</td><td>default</td><td>"&gt;&gt;&gt;"</td></tr>
</table><br/>The HighlightOptions controls how the data is fetched and returned.
<br/></p></section><section><div class="page-header"><h3 id="Struct_Selector">Struct: Selector</h3></div><p class="lead">
<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>WARNING: This is an internal only attribute and is not intended for use by clients.
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>8</td><td>startRecord</td><td><code>i32</code></td><td>Only valid for Row fetches, the record in the row to start fetching.  If the row contains 1000
records and you want the first 100, then this value is 0.  If you want records 300-400 then this
value would be 300.  If startRecord is beyond the end of the row, the row will be null in the
FetchResult.  Used in conjunction with maxRecordsToFetch.
</td><td>default</td><td>0</td></tr>
<tr><td>9</td><td>maxRecordsToFetch</td><td><code>i32</code></td><td>Only valid for Row fetches, the number of records to fetch.  If the row contains 1000 records
and you want the first 100, then this value is 100.  If you want records 300-400 then this value
would be 100.  Used in conjunction with startRecord. By default this will fetch the first
1000 records of the row.
</td><td>default</td><td>1000</td></tr>
<tr><td>10</td><td>highlightOptions</td><td><code><a href="Blur.html#Struct_HighlightOptions">HighlightOptions</a></code></td><td>The HighlightOptions object controls how the data is highlighted.  If null no highlighting will occur.
</td><td>default</td><td></td></tr>
<tr><td>11</td><td>orderOfFamiliesToFetch</td><td><code>list&lt;<code>string</code>&gt;</code></td><td>Can be null, if provided the provided family order will be the order in which the families are returned.
</td><td>default</td><td></td></tr>
</table><br/>Select carries the request for information to be retrieved from the stored columns.
<br/></p></section><section><div class="page-header"><h3 id="Struct_FetchRowResult">Struct: FetchRowResult</h3></div><p class="lead">
<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>
<tr><td>2</td><td>startRecord</td><td><code>i32</code></td><td>See Selector startRecord.
</td><td>default</td><td>-1</td></tr>
<tr><td>3</td><td>maxRecordsToFetch</td><td><code>i32</code></td><td>See Selector maxRecordsToFetch.
</td><td>default</td><td>-1</td></tr>
<tr><td>4</td><td>moreRecordsToFetch</td><td><code>bool</code></td><td>Are there more Records to fetch based on the Selector provided.
</td><td>default</td><td>0</td></tr>
<tr><td>5</td><td>totalRecords</td><td><code>i32</code></td><td>The total number of records the Selector found.
</td><td>default</td><td></td></tr>
</table><br/>FetchRowResult contains row result from a fetch.
<br/></p></section><section><div class="page-header"><h3 id="Struct_FetchRecordResult">Struct: FetchRecordResult</h3></div><p class="lead">
<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/></p></section><section><div class="page-header"><h3 id="Struct_FetchResult">Struct: FetchResult</h3></div><p class="lead">
<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/></p></section><section><div class="page-header"><h3 id="Struct_Facet">Struct: Facet</h3></div><p class="lead">
<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>The facet query.
</td><td>default</td><td></td></tr>
<tr><td>2</td><td>minimumNumberOfBlurResults</td><td><code>i64</code></td><td>The minimum number of results before no longer processing the facet.  This
is a good way to decrease the strain on the system while using many facets. For
example if you set this attribute to 1000, then the shard server will stop
processing the facet at the 1000 mark.  However because this is processed at
the shard server level the controller will likely return more than the minimum
because it sums the answers from the shard servers.
</td><td>default</td><td>9223372036854775807</td></tr>
</table><br/>Blur facet.
<br/></p></section><section><div class="page-header"><h3 id="Struct_SortField">Struct: SortField</h3></div><p class="lead">
<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>family</td><td><code>string</code></td><td></td><td>default</td><td></td></tr>
<tr><td>2</td><td>column</td><td><code>string</code></td><td></td><td>default</td><td></td></tr>
<tr><td>3</td><td>reverse</td><td><code>bool</code></td><td></td><td>default</td><td></td></tr>
</table><br/></p></section><section><div class="page-header"><h3 id="Struct_BlurQuery">Struct: BlurQuery</h3></div><p class="lead">
<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_Query">Query</a></code></td><td>The query information.
</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>A list of Facets to execute with the given query.
</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>6</td><td>useCacheIfPresent</td><td><code>bool</code></td><td>Enabled by default to use a cached result if the query matches a previous run query with the
configured amount of time.
</td><td>default</td><td>1</td></tr>
<tr><td>7</td><td>start</td><td><code>i64</code></td><td>The starting result position, 0 by default.
</td><td>default</td><td>0</td></tr>
<tr><td>8</td><td>fetch</td><td><code>i32</code></td><td>The number of fetched results, 10 by default.
</td><td>default</td><td>10</td></tr>
<tr><td>9</td><td>minimumNumberOfResults</td><td><code>i64</code></td><td>The minimum number of results to find before returning.
</td><td>default</td><td>9223372036854775807</td></tr>
<tr><td>10</td><td>maxQueryTime</td><td><code>i64</code></td><td>The maximum amount of time the query should execute before timing out.
</td><td>default</td><td>9223372036854775807</td></tr>
<tr><td>11</td><td>uuid</td><td><code>string</code></td><td>Sets the uuid of this query, this is normal set by the client so that the status
of a running query can be found or the query can be canceled.
</td><td>default</td><td></td></tr>
<tr><td>12</td><td>userContext</td><td><code>string</code></td><td>Sets a user context, only used for logging at this point.
@Deprecated use setUser method on Blur service.
</td><td>default</td><td></td></tr>
<tr><td>13</td><td>cacheResult</td><td><code>bool</code></td><td>Enabled by default to cache this result.  False would not cache the result.
</td><td>default</td><td>1</td></tr>
<tr><td>14</td><td>startTime</td><td><code>i64</code></td><td>Sets the start time, if 0 the controller sets the time.
</td><td>default</td><td>0</td></tr>
<tr><td>15</td><td>sortFields</td><td><code>list&lt;<code><a href="Blur.html#Struct_SortField">SortField</a></code>&gt;</code></td><td>The sortfields are applied in order to sort the results.
</td><td>default</td><td></td></tr>
<tr><td>16</td><td>rowId</td><td><code>string</code></td><td>Optional optimization for record queries to run against a single row.  This will allow the query to be executed on one and only one shard in the cluster.
</td><td>default</td><td></td></tr>
</table><br/>The Blur Query object that contains the query that needs to be executed along
with the query options.
<br/></p></section><section><div class="page-header"><h3 id="Struct_SortFieldResult">Struct: SortFieldResult</h3></div><p class="lead">
<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>nullValue</td><td><code>bool</code></td><td>Carries the null boolean incase the field is null.
</td><td>default</td><td></td></tr>
<tr><td>2</td><td>stringValue</td><td><code>string</code></td><td>The string value.
</td><td>default</td><td></td></tr>
<tr><td>3</td><td>intValue</td><td><code>i32</code></td><td>The integer value.
</td><td>default</td><td></td></tr>
<tr><td>4</td><td>longValue</td><td><code>i64</code></td><td>The long value.
</td><td>default</td><td></td></tr>
<tr><td>5</td><td>doubleValue</td><td><code>double</code></td><td>The double value.
</td><td>default</td><td></td></tr>
<tr><td>6</td><td>binaryValue</td><td><code>binary</code></td><td>The binary value.
</td><td>default</td><td></td></tr>
</table><br/>Carries the one value from the sort that allows the merging of results.
<br/></p></section><section><div class="page-header"><h3 id="Struct_BlurResult">Struct: BlurResult</h3></div><p class="lead">
<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>WARNING: This is an internal only attribute and is not intended for use by clients.
</td><td>default</td><td></td></tr>
<tr><td>2</td><td>score</td><td><code>double</code></td><td>The score for the hit in the query.
</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>The fetched result if any.
</td><td>default</td><td></td></tr>
<tr><td>4</td><td>sortFieldResults</td><td><code>list&lt;<code><a href="Blur.html#Struct_SortFieldResult">SortFieldResult</a></code>&gt;</code></td><td>The fields used for sorting.
</td><td>default</td><td></td></tr>
</table><br/>The BlurResult carries the score, the location id and the fetched result (if any) form each query.
<br/></p></section><section><div class="page-header"><h3 id="Struct_BlurResults">Struct: BlurResults</h3></div><p class="lead">
<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>The total number of hits in the query.
</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>Hit counts from each shard in the table.
</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>The query results.
</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>The faceted count.
</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>Not currently used, a future feature could allow for partial results with errors.
</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>The original query.
</td><td>default</td><td></td></tr>
</table><br/>BlurResults holds all information resulting from a query.
<br/></p></section><section><div class="page-header"><h3 id="Struct_RecordMutation">Struct: RecordMutation</h3></div><p class="lead">
<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>Define how to mutate the given Record.
</td><td>default</td><td>UNKNOWN</td></tr>
<tr><td>2</td><td>record</td><td><code><a href="Blur.html#Struct_Record">Record</a></code></td><td>The Record to mutate.
</td><td>default</td><td></td></tr>
</table><br/>The RowMutation defines how the given Record is to be mutated.
<br/></p></section><section><div class="page-header"><h3 id="Struct_RowMutation">Struct: RowMutation</h3></div><p class="lead">
<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 table 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>4</td><td>rowMutationType</td><td><code><a href="Blur.html#Enum_RowMutationType">RowMutationType</a></code></td><td>The RowMutationType to define how to mutate the given Row.
</td><td>default</td><td>UNKNOWN</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>The RecordMutations if any for this Row.
</td><td>default</td><td></td></tr>
</table><br/>The RowMutation defines how the given Row is to be mutated.
<br/></p></section><section><div class="page-header"><h3 id="Struct_CpuTime">Struct: CpuTime</h3></div><p class="lead">
<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>The total cpu time for the query on the given shard.
</td><td>default</td><td></td></tr>
<tr><td>2</td><td>realTime</td><td><code>i64</code></td><td>The real time of the query execution for a given shard.
</td><td>default</td><td></td></tr>
</table><br/>Holds the cpu time for a query executing on a single shard in a table.
<br/></p></section><section><div class="page-header"><h3 id="Struct_BlurQueryStatus">Struct: BlurQueryStatus</h3></div><p class="lead">
<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>The original query.
</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>A map of shard names to CpuTime, one for each shard in the table.
</td><td>default</td><td></td></tr>
<tr><td>3</td><td>completeShards</td><td><code>i32</code></td><td>The number of completed shards.  The shard server will respond with
how many are complete on that server, while the controller will aggregate
all the shard server completed totals together.
</td><td>default</td><td></td></tr>
<tr><td>4</td><td>totalShards</td><td><code>i32</code></td><td>The total number of shards that the query is executing against.  The shard
server will respond with how many shards are being queried on that server, while
the controller will aggregate all the shard server totals together.
</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>The state of the query.  e.g. RUNNING, INTERRUPTED, COMPLETE
</td><td>default</td><td></td></tr>
<tr><td>6</td><td>uuid</td><td><code>string</code></td><td>The uuid of the query.
</td><td>default</td><td></td></tr>
<tr><td>7</td><td>status</td><td><code><a href="Blur.html#Enum_Status">Status</a></code></td><td>The status of the query NOT_FOUND if uuid is not found else FOUND
</td><td>default</td><td></td></tr>
<tr><td>8</td><td>user</td><td><code><a href="Blur.html#Struct_User">User</a></code></td><td>The user executing the given query.
</td><td>default</td><td></td></tr>
</table><br/>The BlurQueryStatus object hold the status of BlurQueries.  The state of the query
(QueryState), the number of shards the query is executing against, the number of
shards that are complete, etc.
<br/></p></section><section><div class="page-header"><h3 id="Struct_TableStats">Struct: TableStats</h3></div><p class="lead">
<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>The table name.
</td><td>default</td><td></td></tr>
<tr><td>2</td><td>bytes</td><td><code>i64</code></td><td>The size in bytes.
</td><td>default</td><td></td></tr>
<tr><td>3</td><td>recordCount</td><td><code>i64</code></td><td>The record count.
</td><td>default</td><td></td></tr>
<tr><td>4</td><td>rowCount</td><td><code>i64</code></td><td>The row count.
</td><td>default</td><td></td></tr>
<tr><td>5</td><td>segmentImportPendingCount</td><td><code>i64</code></td><td>The number of pending segment imports for this table.
</td><td>default</td><td>0</td></tr>
<tr><td>6</td><td>segmentImportInProgressCount</td><td><code>i64</code></td><td>The number of segment imports in progress for this table.
</td><td>default</td><td>0</td></tr>
</table><br/>TableStats holds the statistics for a given table.
<br/></p></section><section><div class="page-header"><h3 id="Struct_ColumnDefinition">Struct: ColumnDefinition</h3></div><p class="lead">
<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>family</td><td><code>string</code></td><td>Required. The family that this column exists within.
</td><td>default</td><td></td></tr>
<tr><td>2</td><td>columnName</td><td><code>string</code></td><td>Required. The column name.
</td><td>default</td><td></td></tr>
<tr><td>3</td><td>subColumnName</td><td><code>string</code></td><td>If this column definition is for a sub column then provide the sub column name.  Otherwise leave this field null.
</td><td>default</td><td></td></tr>
<tr><td>4</td><td>fieldLessIndexed</td><td><code>bool</code></td><td>If this column should be searchable without having to specify the name of the column in the query.
NOTE: This will index the column as a full text field in a default field, so that means it's going to be indexed twice.
</td><td>default</td><td></td></tr>
<tr><td>5</td><td>fieldType</td><td><code>string</code></td><td>The field type for the column.  The built in types are:
<ul>
<li>text - Full text indexing.</li>
<li>string - Indexed string literal</li>
<li>int - Converted to an integer and indexed numerically.</li>
<li>long - Converted to an long and indexed numerically.</li>
<li>float - Converted to an float and indexed numerically.</li>
<li>double - Converted to an double and indexed numerically.</li>
<li>stored - Not indexed, only stored.</li>
</ul>
</td><td>default</td><td></td></tr>
<tr><td>6</td><td>properties</td><td><code>map&lt;<code>string</code>, <code>string</code>&gt;</code></td><td>For any custom field types, you can pass in configuration properties.
</td><td>default</td><td></td></tr>
<tr><td>7</td><td>sortable</td><td><code>bool</code></td><td>This will attempt to enable sorting for this column, if the type does not support sorting then an exception will be thrown.
</td><td>default</td><td></td></tr>
<tr><td>8</td><td>multiValueField</td><td><code>bool</code></td><td>This will attempt to enable the ability for multiple values per column name in a single Record.
</td><td>optional</td><td>1</td></tr>
</table><br/>The ColumnDefinition defines how a given Column should be interpreted (indexed/stored)
<br/></p></section><section><div class="page-header"><h3 id="Struct_Schema">Struct: Schema</h3></div><p class="lead">
<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 table name.
</td><td>default</td><td></td></tr>
<tr><td>2</td><td>families</td><td><code>map&lt;<code>string</code>, <code>map&lt;<code>string</code>, <code><a href="Blur.html#Struct_ColumnDefinition">ColumnDefinition</a></code>&gt;</code>&gt;</code></td><td>Families and the column definitions within them.
</td><td>default</td><td></td></tr>
</table><br/>The current schema of the table.
<br/></p></section><section><div class="page-header"><h3 id="Struct_TableDescriptor">Struct: TableDescriptor</h3></div><p class="lead">
<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>enabled</td><td><code>bool</code></td><td>Is the table enabled or not, enabled by default.
</td><td>default</td><td>1</td></tr>
<tr><td>3</td><td>shardCount</td><td><code>i32</code></td><td>The number of shards within the given table.
</td><td>default</td><td>1</td></tr>
<tr><td>4</td><td>tableUri</td><td><code>string</code></td><td>The location where the table should be stored this can be "file:///" for a local instance of Blur or "hdfs://" for a distributed installation of Blur.
</td><td>default</td><td></td></tr>
<tr><td>7</td><td>cluster</td><td><code>string</code></td><td>The cluster where this table should be created.
</td><td>default</td><td>"default"</td></tr>
<tr><td>8</td><td>name</td><td><code>string</code></td><td>The table name.
</td><td>default</td><td></td></tr>
<tr><td>9</td><td>similarityClass</td><td><code>string</code></td><td>Sets the similarity class in Lucene.
</td><td>default</td><td></td></tr>
<tr><td>10</td><td>blockCaching</td><td><code>bool</code></td><td>Should block cache be enable or disabled for this table.
</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>The files extensions that you would like to allow block cache to cache.  If null (default) everything is cached.
</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>preCacheCols</td><td><code>list&lt;<code>string</code>&gt;</code></td><td>This is a list of fields to prefetch into the blockcache.  The format of the entries should
be family dot column, "family.column".
</td><td>default</td><td></td></tr>
<tr><td>14</td><td>tableProperties</td><td><code>map&lt;<code>string</code>, <code>string</code>&gt;</code></td><td>The table properties that can modify the default behavior of the table.  TODO: Document all options.
</td><td>default</td><td></td></tr>
<tr><td>15</td><td>strictTypes</td><td><code>bool</code></td><td>Whether strict types are enabled or not (default).  If they are enabled no column can be added without first having it's type defined.
</td><td>default</td><td>0</td></tr>
<tr><td>16</td><td>defaultMissingFieldType</td><td><code>string</code></td><td>If strict is not enabled, the default field type.
</td><td>default</td><td>"text"</td></tr>
<tr><td>17</td><td>defaultMissingFieldLessIndexing</td><td><code>bool</code></td><td>If strict is not enabled, defines whether or not field less indexing is enabled on the newly created fields.
</td><td>default</td><td>1</td></tr>
<tr><td>18</td><td>defaultMissingFieldProps</td><td><code>map&lt;<code>string</code>, <code>string</code>&gt;</code></td><td>If strict is not enabled, defines the properties to be used in the new field creation.
</td><td>default</td><td></td></tr>
</table><br/>The table descriptor defines the base structure of the table as well as properties need for setup.
<br/></p></section><section><div class="page-header"><h3 id="Struct_Metric">Struct: Metric</h3></div><p class="lead">
<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>metric name.
</td><td>default</td><td></td></tr>
<tr><td>2</td><td>strMap</td><td><code>map&lt;<code>string</code>, <code>string</code>&gt;</code></td><td>map of string values emitted by the Metric.
</td><td>default</td><td></td></tr>
<tr><td>3</td><td>longMap</td><td><code>map&lt;<code>string</code>, <code>i64</code>&gt;</code></td><td>map of long values emitted by the Metric.
</td><td>default</td><td></td></tr>
<tr><td>4</td><td>doubleMap</td><td><code>map&lt;<code>string</code>, <code>double</code>&gt;</code></td><td>map of double values emitted by the Metric.
</td><td>default</td><td></td></tr>
</table><br/>The Metric will hold all the information for a given Metric.
<br/></p></section><section><div class="page-header"><h3 id="Struct_Value">Struct: Value</h3></div><p class="lead">
<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>stringValue</td><td><code>string</code></td><td></td><td>default</td><td></td></tr>
<tr><td>2</td><td>intValue</td><td><code>i32</code></td><td></td><td>default</td><td></td></tr>
<tr><td>3</td><td>shortValue</td><td><code>i16</code></td><td></td><td>default</td><td></td></tr>
<tr><td>4</td><td>longValue</td><td><code>i64</code></td><td></td><td>default</td><td></td></tr>
<tr><td>5</td><td>doubleValue</td><td><code>double</code></td><td></td><td>default</td><td></td></tr>
<tr><td>6</td><td>floatValue</td><td><code>double</code></td><td></td><td>default</td><td></td></tr>
<tr><td>7</td><td>binaryValue</td><td><code>binary</code></td><td></td><td>default</td><td></td></tr>
<tr><td>8</td><td>booleanValue</td><td><code>bool</code></td><td></td><td>default</td><td></td></tr>
<tr><td>9</td><td>nullValue</td><td><code>bool</code></td><td></td><td>default</td><td></td></tr>
</table><br/></p></section><section><div class="page-header"><h3 id="Struct_Shard">Struct: Shard</h3></div><p class="lead">
<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>shard</td><td><code>string</code></td><td></td><td>default</td><td></td></tr>
</table><br/></p></section><section><div class="page-header"><h3 id="Struct_Server">Struct: Server</h3></div><p class="lead">
<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>server</td><td><code>string</code></td><td></td><td>default</td><td></td></tr>
</table><br/></p></section><section><div class="page-header"><h3 id="Struct_BlurPackedObject">Struct: BlurPackedObject</h3></div><p class="lead">
<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>parentId</td><td><code>i32</code></td><td></td><td>default</td><td></td></tr>
<tr><td>2</td><td>type</td><td><code><a href="Blur.html#Enum_BlurObjectType">BlurObjectType</a></code></td><td></td><td>default</td><td></td></tr>
<tr><td>3</td><td>value</td><td><code><a href="Blur.html#Struct_Value">Value</a></code></td><td></td><td>default</td><td></td></tr>
</table><br/></p></section><section><div class="page-header"><h3 id="Struct_ValueObject">Struct: ValueObject</h3></div><p class="lead">
<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>value</td><td><code><a href="Blur.html#Struct_Value">Value</a></code></td><td></td><td>default</td><td></td></tr>
<tr><td>2</td><td>blurObject</td><td><code>list&lt;<code><a href="Blur.html#Struct_BlurPackedObject">BlurPackedObject</a></code>&gt;</code></td><td></td><td>default</td><td></td></tr>
</table><br/></p></section><section><div class="page-header"><h3 id="Struct_Response">Struct: Response</h3></div><p class="lead">
<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>shardToValue</td><td><code>map&lt;<code><a href="Blur.html#Struct_Shard">Shard</a></code>, <code><a href="Blur.html#Struct_ValueObject">ValueObject</a></code>&gt;</code></td><td></td><td>default</td><td></td></tr>
<tr><td>2</td><td>serverToValue</td><td><code>map&lt;<code><a href="Blur.html#Struct_Server">Server</a></code>, <code><a href="Blur.html#Struct_ValueObject">ValueObject</a></code>&gt;</code></td><td></td><td>default</td><td></td></tr>
<tr><td>3</td><td>value</td><td><code><a href="Blur.html#Struct_ValueObject">ValueObject</a></code></td><td></td><td>default</td><td></td></tr>
</table><br/></p></section><section><div class="page-header"><h3 id="Struct_Arguments">Struct: Arguments</h3></div><p class="lead">
<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>values</td><td><code>map&lt;<code>string</code>, <code><a href="Blur.html#Struct_ValueObject">ValueObject</a></code>&gt;</code></td><td></td><td>default</td><td></td></tr>
</table><br/></p></section><section><div class="page-header"><h3 id="Struct_CommandStatus">Struct: CommandStatus</h3></div><p class="lead">
<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>executionId</td><td><code>string</code></td><td></td><td>default</td><td></td></tr>
<tr><td>2</td><td>commandName</td><td><code>string</code></td><td></td><td>default</td><td></td></tr>
<tr><td>3</td><td>arguments</td><td><code><a href="Blur.html#Struct_Arguments">Arguments</a></code></td><td></td><td>default</td><td></td></tr>
<tr><td>4</td><td>serverStateMap</td><td><code>map&lt;<code>string</code>, <code>map&lt;<code><a href="Blur.html#Enum_CommandStatusState">CommandStatusState</a></code>, <code>i64</code>&gt;</code>&gt;</code></td><td></td><td>default</td><td></td></tr>
<tr><td>5</td><td>user</td><td><code><a href="Blur.html#Struct_User">User</a></code></td><td></td><td>default</td><td></td></tr>
</table><br/></p></section><section><div class="page-header"><h3 id="Struct_ArgumentDescriptor">Struct: ArgumentDescriptor</h3></div><p class="lead">
<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>
<tr><td>2</td><td>type</td><td><code>string</code></td><td></td><td>default</td><td></td></tr>
<tr><td>3</td><td>description</td><td><code>string</code></td><td></td><td>default</td><td></td></tr>
</table><br/></p></section><section><div class="page-header"><h3 id="Struct_CommandDescriptor">Struct: CommandDescriptor</h3></div><p class="lead">
<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>commandName</td><td><code>string</code></td><td></td><td>default</td><td></td></tr>
<tr><td>2</td><td>description</td><td><code>string</code></td><td></td><td>default</td><td></td></tr>
<tr><td>3</td><td>requiredArguments</td><td><code>map&lt;<code>string</code>, <code><a href="Blur.html#Struct_ArgumentDescriptor">ArgumentDescriptor</a></code>&gt;</code></td><td></td><td>default</td><td></td></tr>
<tr><td>4</td><td>optionalArguments</td><td><code>map&lt;<code>string</code>, <code><a href="Blur.html#Struct_ArgumentDescriptor">ArgumentDescriptor</a></code>&gt;</code></td><td></td><td>default</td><td></td></tr>
<tr><td>5</td><td>returnType</td><td><code>string</code></td><td></td><td>default</td><td></td></tr>
<tr><td>6</td><td>version</td><td><code>string</code></td><td></td><td>default</td><td></td></tr>
</table><br/></p></section><hr/><h2 id="Services">Services</h2>
<h3 id="Svc_Blur">Service: Blur</h3>
The Blur service API.  This API is the same for both controller servers as well as
shards servers.  Each of the methods are documented.
<br/><section><div class="page-header"><h4 id="Fn_Blur_listInstalledCommands">Function: Blur.listInstalledCommands</h4></div><p class="lead">
<pre><code>list&lt;<code><a href="Blur.html#Struct_CommandDescriptor">CommandDescriptor</a></code>&gt;</code> listInstalledCommands()
throws <code><a href="Blur.html#Struct_BlurException">BlurException</a></code>
</pre>List the currently installed commands in the server process.
<br/></p></section><section><div class="page-header"><h4 id="Fn_Blur_execute">Function: Blur.execute</h4></div><p class="lead">
<pre><code><a href="Blur.html#Struct_Response">Response</a></code> execute(<code>string</code> commandName,
<code><a href="Blur.html#Struct_Arguments">Arguments</a></code> arguments)
throws <code><a href="Blur.html#Struct_BlurException">BlurException</a></code>, <code><a href="Blur.html#Struct_TimeoutException">TimeoutException</a></code>
</pre>Executes the given command by name on the table with the provided arguments.
<br/></p></section><section><div class="page-header"><h4 id="Fn_Blur_reconnect">Function: Blur.reconnect</h4></div><p class="lead">
<pre><code><a href="Blur.html#Struct_Response">Response</a></code> reconnect(<code>i64</code> instanceExecutionId)
throws <code><a href="Blur.html#Struct_BlurException">BlurException</a></code>, <code><a href="Blur.html#Struct_TimeoutException">TimeoutException</a></code>
</pre>If the execute command times out due to command taking longer than the configured
network tcp timeout this method allows the client to reconnect to the already
executing command.
<br/></p></section><section><div class="page-header"><h4 id="Fn_Blur_commandStatusList">Function: Blur.commandStatusList</h4></div><p class="lead">
<pre><code>list&lt;<code>string</code>&gt;</code> commandStatusList(<code>i32</code> startingAt,
<code>i16</code> fetch)
throws <code><a href="Blur.html#Struct_BlurException">BlurException</a></code>
</pre>Fetches the command status ids in the order they were submitted.
<br/></p></section><section><div class="page-header"><h4 id="Fn_Blur_commandStatus">Function: Blur.commandStatus</h4></div><p class="lead">
<pre><code><a href="Blur.html#Struct_CommandStatus">CommandStatus</a></code> commandStatus(<code>string</code> commandExecutionId)
throws <code><a href="Blur.html#Struct_BlurException">BlurException</a></code>
</pre>Retrieves the command status by the given command execution id.
<br/></p></section><section><div class="page-header"><h4 id="Fn_Blur_commandCancel">Function: Blur.commandCancel</h4></div><p class="lead">
<pre><code>void</code> commandCancel(<code>string</code> commandExecutionId)
throws <code><a href="Blur.html#Struct_BlurException">BlurException</a></code>
</pre>Cancels the command with the given command execution id.
<br/></p></section><section><div class="page-header"><h4 id="Fn_Blur_refresh">Function: Blur.refresh</h4></div><p class="lead">
<pre><code>void</code> refresh()
</pre>Releases and refreshes the read snapshots of the indexes in the session for the
current connection.
<br/></p></section><section><div class="page-header"><h4 id="Fn_Blur_createTable">Function: Blur.createTable</h4></div><p class="lead">
<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>Creates a table with the given TableDescriptor.
<br/><br/><h4 id="Parameters_Blur_createTable">Parameters</h4>
<table class="table-bordered table-striped table-condensed"><thead><th>Name</th><th>Description</th></thead><tr><td>tableDescriptor</td><td>the TableDescriptor.
</td></tr>
</table></p></section><section><div class="page-header"><h4 id="Fn_Blur_enableTable">Function: Blur.enableTable</h4></div><p class="lead">
<pre><code>void</code> enableTable(<code>string</code> table)
throws <code><a href="Blur.html#Struct_BlurException">BlurException</a></code>
</pre>Enables the given table, blocking until all shards are online.
<br/><br/><h4 id="Parameters_Blur_enableTable">Parameters</h4>
<table class="table-bordered table-striped table-condensed"><thead><th>Name</th><th>Description</th></thead><tr><td>table</td><td>the table name.
</td></tr>
</table></p></section><section><div class="page-header"><h4 id="Fn_Blur_disableTable">Function: Blur.disableTable</h4></div><p class="lead">
<pre><code>void</code> disableTable(<code>string</code> table)
throws <code><a href="Blur.html#Struct_BlurException">BlurException</a></code>
</pre>Disables the given table, blocking until all shards are offline.
<br/><br/><h4 id="Parameters_Blur_disableTable">Parameters</h4>
<table class="table-bordered table-striped table-condensed"><thead><th>Name</th><th>Description</th></thead><tr><td>table</td><td>the table name.
</td></tr>
</table></p></section><section><div class="page-header"><h4 id="Fn_Blur_removeTable">Function: Blur.removeTable</h4></div><p class="lead">
<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>Removes the given table, with an optional to delete the underlying index storage as well.
<br/><br/><h4 id="Parameters_Blur_removeTable">Parameters</h4>
<table class="table-bordered table-striped table-condensed"><thead><th>Name</th><th>Description</th></thead><tr><td>table</td><td>the table name.
</td></tr>
<tr><td>deleteIndexFiles</td><td>true to remove the index storage and false if to preserve.
</td></tr>
</table></p></section><section><div class="page-header"><h4 id="Fn_Blur_addColumnDefinition">Function: Blur.addColumnDefinition</h4></div><p class="lead">
<pre><code>bool</code> addColumnDefinition(<code>string</code> table,
<code><a href="Blur.html#Struct_ColumnDefinition">ColumnDefinition</a></code> columnDefinition)
throws <code><a href="Blur.html#Struct_BlurException">BlurException</a></code>
</pre>Attempts to add a column definition to the given table.
@return true if successfully defined false if not.
<br/><br/><h4 id="Parameters_Blur_addColumnDefinition">Parameters</h4>
<table class="table-bordered table-striped table-condensed"><thead><th>Name</th><th>Description</th></thead><tr><td>table</td><td>the name of the table.
</td></tr>
<tr><td>columnDefinition</td><td>the ColumnDefinition.
</td></tr>
</table></p></section><section><div class="page-header"><h4 id="Fn_Blur_tableList">Function: Blur.tableList</h4></div><p class="lead">
<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.
@return list of all tables in all shard clusters.
<br/></p></section><section><div class="page-header"><h4 id="Fn_Blur_tableListByCluster">Function: Blur.tableListByCluster</h4></div><p class="lead">
<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.
@return list of all the tables within the given shard cluster.
<br/><br/><h4 id="Parameters_Blur_tableListByCluster">Parameters</h4>
<table class="table-bordered table-striped table-condensed"><thead><th>Name</th><th>Description</th></thead><tr><td>cluster</td><td>the cluster name.
</td></tr>
</table></p></section><section><div class="page-header"><h4 id="Fn_Blur_describe">Function: Blur.describe</h4></div><p class="lead">
<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.
@return the TableDescriptor.
<br/><br/><h4 id="Parameters_Blur_describe">Parameters</h4>
<table class="table-bordered table-striped table-condensed"><thead><th>Name</th><th>Description</th></thead><tr><td>table</td><td>the table name.
</td></tr>
</table></p></section><section><div class="page-header"><h4 id="Fn_Blur_schema">Function: Blur.schema</h4></div><p class="lead">
<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>Gets the schema for a given table.
@return Schema.
<br/><br/><h4 id="Parameters_Blur_schema">Parameters</h4>
<table class="table-bordered table-striped table-condensed"><thead><th>Name</th><th>Description</th></thead><tr><td>table</td><td>the table name.
</td></tr>
</table></p></section><section><div class="page-header"><h4 id="Fn_Blur_parseQuery">Function: Blur.parseQuery</h4></div><p class="lead">
<pre><code>string</code> parseQuery(<code>string</code> table,
<code><a href="Blur.html#Struct_Query">Query</a></code> query)
throws <code><a href="Blur.html#Struct_BlurException">BlurException</a></code>
</pre>Parses the given query and returns the string that represents the query.
@return string representation of the parsed query.
<br/><br/><h4 id="Parameters_Blur_parseQuery">Parameters</h4>
<table class="table-bordered table-striped table-condensed"><thead><th>Name</th><th>Description</th></thead><tr><td>table</td><td>the table name.
</td></tr>
<tr><td>query</td><td>the query to parse.
</td></tr>
</table></p></section><section><div class="page-header"><h4 id="Fn_Blur_tableStats">Function: Blur.tableStats</h4></div><p class="lead">
<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>Gets the table stats for the given table.
@return TableStats.
<br/><br/><h4 id="Parameters_Blur_tableStats">Parameters</h4>
<table class="table-bordered table-striped table-condensed"><thead><th>Name</th><th>Description</th></thead><tr><td>table</td><td>the table name.
</td></tr>
</table></p></section><section><div class="page-header"><h4 id="Fn_Blur_optimize">Function: Blur.optimize</h4></div><p class="lead">
<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>Will perform a forced optimize on the index in the given table.
<br/><br/><h4 id="Parameters_Blur_optimize">Parameters</h4>
<table class="table-bordered table-striped table-condensed"><thead><th>Name</th><th>Description</th></thead><tr><td>table</td><td>table the name of the table.
</td></tr>
<tr><td>numberOfSegmentsPerShard</td><td>the maximum of segments per shard index after the operation is completed.
</td></tr>
</table></p></section><section><div class="page-header"><h4 id="Fn_Blur_createSnapshot">Function: Blur.createSnapshot</h4></div><p class="lead">
<pre><code>void</code> createSnapshot(<code>string</code> table,
<code>string</code> name)
throws <code><a href="Blur.html#Struct_BlurException">BlurException</a></code>
</pre>Creates a snapshot for the table with the given name
<br/></p></section><section><div class="page-header"><h4 id="Fn_Blur_removeSnapshot">Function: Blur.removeSnapshot</h4></div><p class="lead">
<pre><code>void</code> removeSnapshot(<code>string</code> table,
<code>string</code> name)
throws <code><a href="Blur.html#Struct_BlurException">BlurException</a></code>
</pre>Removes a previous snapshot(identified by name) of the table
<br/></p></section><section><div class="page-header"><h4 id="Fn_Blur_listSnapshots">Function: Blur.listSnapshots</h4></div><p class="lead">
<pre><code>map&lt;<code>string</code>, <code>list&lt;<code>string</code>&gt;</code>&gt;</code> listSnapshots(<code>string</code> table)
throws <code><a href="Blur.html#Struct_BlurException">BlurException</a></code>
</pre>Returns a map where the key is the shard, and the list is the snapshots within that shard
<br/></p></section><section><div class="page-header"><h4 id="Fn_Blur_setUser">Function: Blur.setUser</h4></div><p class="lead">
<pre><code>void</code> setUser(<code><a href="Blur.html#Struct_User">User</a></code> user)
</pre>Sets the User for the current session.
<br/><br/><h4 id="Parameters_Blur_setUser">Parameters</h4>
<table class="table-bordered table-striped table-condensed"><thead><th>Name</th><th>Description</th></thead><tr><td>user</td><td>the User object.
</td></tr>
</table></p></section><section><div class="page-header"><h4 id="Fn_Blur_query">Function: Blur.query</h4></div><p class="lead">
<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.
@return the BlurResults.
<br/><br/><h4 id="Parameters_Blur_query">Parameters</h4>
<table class="table-bordered table-striped table-condensed"><thead><th>Name</th><th>Description</th></thead><tr><td>table</td><td>the table name.
</td></tr>
<tr><td>blurQuery</td><td>the query to execute.
</td></tr>
</table></p></section><section><div class="page-header"><h4 id="Fn_Blur_fetchRow">Function: Blur.fetchRow</h4></div><p class="lead">
<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>Fetches a Row or a Record in the given table with the given Selector.
@return the FetchResult.
<br/><br/><h4 id="Parameters_Blur_fetchRow">Parameters</h4>
<table class="table-bordered table-striped table-condensed"><thead><th>Name</th><th>Description</th></thead><tr><td>table</td><td>the table name.
</td></tr>
<tr><td>selector</td><td>the Selector to use to fetch the Row or Record.
</td></tr>
</table></p></section><section><div class="page-header"><h4 id="Fn_Blur_fetchRowBatch">Function: Blur.fetchRowBatch</h4></div><p class="lead">
<pre><code>list&lt;<code><a href="Blur.html#Struct_FetchResult">FetchResult</a></code>&gt;</code> fetchRowBatch(<code>string</code> table,
<code>list&lt;<code><a href="Blur.html#Struct_Selector">Selector</a></code>&gt;</code> selectors)
throws <code><a href="Blur.html#Struct_BlurException">BlurException</a></code>
</pre>Fetches a batch of Rows or Records in the given table with the given Selector list.
@return the FetchResult.
<br/><br/><h4 id="Parameters_Blur_fetchRowBatch">Parameters</h4>
<table class="table-bordered table-striped table-condensed"><thead><th>Name</th><th>Description</th></thead><tr><td>table</td><td>the table name.
</td></tr>
<tr><td>selectors</td><td>the Selector to use to fetch the Row or Record.
</td></tr>
</table></p></section><section><div class="page-header"><h4 id="Fn_Blur_loadData">Function: Blur.loadData</h4></div><p class="lead">
<pre><code>void</code> loadData(<code>string</code> table,
<code>string</code> location)
throws <code><a href="Blur.html#Struct_BlurException">BlurException</a></code>
</pre>Loads data from external location.
<br/><br/><h4 id="Parameters_Blur_loadData">Parameters</h4>
<table class="table-bordered table-striped table-condensed"><thead><th>Name</th><th>Description</th></thead><tr><td>table</td><td>The table name.
</td></tr>
<tr><td>location</td><td>Location of bulk data load.
</td></tr>
</table></p></section><section><div class="page-header"><h4 id="Fn_Blur_validateIndex">Function: Blur.validateIndex</h4></div><p class="lead">
<pre><code>void</code> validateIndex(<code>string</code> table,
<code>list&lt;<code>string</code>&gt;</code> externalIndexPaths)
throws <code><a href="Blur.html#Struct_BlurException">BlurException</a></code>
</pre></p></section><section><div class="page-header"><h4 id="Fn_Blur_loadIndex">Function: Blur.loadIndex</h4></div><p class="lead">
<pre><code>void</code> loadIndex(<code>string</code> table,
<code>list&lt;<code>string</code>&gt;</code> externalIndexPaths)
throws <code><a href="Blur.html#Struct_BlurException">BlurException</a></code>
</pre></p></section><section><div class="page-header"><h4 id="Fn_Blur_mutate">Function: Blur.mutate</h4></div><p class="lead">
<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>Mutates a Row given the RowMutation that is provided.
<br/><br/><h4 id="Parameters_Blur_mutate">Parameters</h4>
<table class="table-bordered table-striped table-condensed"><thead><th>Name</th><th>Description</th></thead><tr><td>mutation</td><td>the RowMutation.
</td></tr>
</table></p></section><section><div class="page-header"><h4 id="Fn_Blur_enqueueMutate">Function: Blur.enqueueMutate</h4></div><p class="lead">
<pre><code>void</code> enqueueMutate(<code><a href="Blur.html#Struct_RowMutation">RowMutation</a></code> mutation)
throws <code><a href="Blur.html#Struct_BlurException">BlurException</a></code>
</pre>Enqueue a RowMutation. Note that the effect of the RowMutation will occur at some point in the future, volume and load will play a role in how much time will pass before the mutation goes into effect.
<br/><br/><h4 id="Parameters_Blur_enqueueMutate">Parameters</h4>
<table class="table-bordered table-striped table-condensed"><thead><th>Name</th><th>Description</th></thead><tr><td>mutation</td><td>the RowMutation.
</td></tr>
</table></p></section><section><div class="page-header"><h4 id="Fn_Blur_mutateBatch">Function: Blur.mutateBatch</h4></div><p class="lead">
<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>Mutates a group of Rows given the list of RowMutations that are provided.  Note: This is not an atomic operation.
<br/><br/><h4 id="Parameters_Blur_mutateBatch">Parameters</h4>
<table class="table-bordered table-striped table-condensed"><thead><th>Name</th><th>Description</th></thead><tr><td>mutations</td><td>the batch of RowMutations.
</td></tr>
</table></p></section><section><div class="page-header"><h4 id="Fn_Blur_enqueueMutateBatch">Function: Blur.enqueueMutateBatch</h4></div><p class="lead">
<pre><code>void</code> enqueueMutateBatch(<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>Enqueue a batch of RowMutations. Note that the effect of the RowMutation will occur at some point in the future, volume and load will play a role in how much time will pass before the mutation goes into effect.
<br/><br/><h4 id="Parameters_Blur_enqueueMutateBatch">Parameters</h4>
<table class="table-bordered table-striped table-condensed"><thead><th>Name</th><th>Description</th></thead><tr><td>mutations</td><td>the batch of RowMutations.
</td></tr>
</table></p></section><section><div class="page-header"><h4 id="Fn_Blur_bulkMutateStart">Function: Blur.bulkMutateStart</h4></div><p class="lead">
<pre><code>void</code> bulkMutateStart(<code>string</code> bulkId)
throws <code><a href="Blur.html#Struct_BlurException">BlurException</a></code>
</pre>Starts a transaction for update (e.g. Mutate).  Returns a transaction id.
<br/><br/><h4 id="Parameters_Blur_bulkMutateStart">Parameters</h4>
<table class="table-bordered table-striped table-condensed"><thead><th>Name</th><th>Description</th></thead><tr><td>bulkId</td><td>The bulk id.
</td></tr>
</table></p></section><section><div class="page-header"><h4 id="Fn_Blur_bulkMutateAdd">Function: Blur.bulkMutateAdd</h4></div><p class="lead">
<pre><code>void</code> bulkMutateAdd(<code>string</code> bulkId,
<code><a href="Blur.html#Struct_RowMutation">RowMutation</a></code> rowMutation)
throws <code><a href="Blur.html#Struct_BlurException">BlurException</a></code>
</pre>Adds to the specified transaction.
<br/><br/><h4 id="Parameters_Blur_bulkMutateAdd">Parameters</h4>
<table class="table-bordered table-striped table-condensed"><thead><th>Name</th><th>Description</th></thead><tr><td>bulkId</td><td>The bulk id.
</td></tr>
<tr><td>rowMutation</td><td>The row mutation.
</td></tr>
</table></p></section><section><div class="page-header"><h4 id="Fn_Blur_bulkMutateAddMultiple">Function: Blur.bulkMutateAddMultiple</h4></div><p class="lead">
<pre><code>void</code> bulkMutateAddMultiple(<code>string</code> bulkId,
<code>list&lt;<code><a href="Blur.html#Struct_RowMutation">RowMutation</a></code>&gt;</code> rowMutations)
throws <code><a href="Blur.html#Struct_BlurException">BlurException</a></code>
</pre>Adds to the specified transaction.
<br/><br/><h4 id="Parameters_Blur_bulkMutateAddMultiple">Parameters</h4>
<table class="table-bordered table-striped table-condensed"><thead><th>Name</th><th>Description</th></thead><tr><td>bulkId</td><td>The bulk id.
</td></tr>
<tr><td>rowMutations</td><td>The row mutation.
</td></tr>
</table></p></section><section><div class="page-header"><h4 id="Fn_Blur_bulkMutateFinish">Function: Blur.bulkMutateFinish</h4></div><p class="lead">
<pre><code>void</code> bulkMutateFinish(<code>string</code> bulkId,
<code>bool</code> apply,
<code>bool</code> blockUntilComplete)
throws <code><a href="Blur.html#Struct_BlurException">BlurException</a></code>
</pre>Finishes the bulk mutate.  If apply is true the mutations are applied and committed.  If false the bulk mutate is deleted and not applied.
<br/><br/><h4 id="Parameters_Blur_bulkMutateFinish">Parameters</h4>
<table class="table-bordered table-striped table-condensed"><thead><th>Name</th><th>Description</th></thead><tr><td>bulkId</td><td>The bulk id.
</td></tr>
<tr><td>apply</td><td>Apply the bulk mutate flag.
</td></tr>
<tr><td>blockUntilComplete</td><td>If true this call will not block on bulk completion.  This may be required for loader bulk loads.
</td></tr>
</table></p></section><section><div class="page-header"><h4 id="Fn_Blur_cancelQuery">Function: Blur.cancelQuery</h4></div><p class="lead">
<pre><code>void</code> cancelQuery(<code>string</code> table,
<code>string</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.
<br/><br/><h4 id="Parameters_Blur_cancelQuery">Parameters</h4>
<table class="table-bordered table-striped table-condensed"><thead><th>Name</th><th>Description</th></thead><tr><td>table</td><td>the table name.
</td></tr>
<tr><td>uuid</td><td>the uuid of the query.
</td></tr>
</table></p></section><section><div class="page-header"><h4 id="Fn_Blur_queryStatusIdList">Function: Blur.queryStatusIdList</h4></div><p class="lead">
<pre><code>list&lt;<code>string</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.
@return list of all the uuids of the queries uuids.
<br/><br/><h4 id="Parameters_Blur_queryStatusIdList">Parameters</h4>
<table class="table-bordered table-striped table-condensed"><thead><th>Name</th><th>Description</th></thead><tr><td>table</td><td>the table name.
</td></tr>
</table></p></section><section><div class="page-header"><h4 id="Fn_Blur_queryStatusById">Function: Blur.queryStatusById</h4></div><p class="lead">
<pre><code><a href="Blur.html#Struct_BlurQueryStatus">BlurQueryStatus</a></code> queryStatusById(<code>string</code> table,
<code>string</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.
@return fetches the BlurQueryStatus for the given table and uuid.
<br/><br/><h4 id="Parameters_Blur_queryStatusById">Parameters</h4>
<table class="table-bordered table-striped table-condensed"><thead><th>Name</th><th>Description</th></thead><tr><td>table</td><td>the table name.
</td></tr>
<tr><td>uuid</td><td>the uuid of the query.
</td></tr>
</table></p></section><section><div class="page-header"><h4 id="Fn_Blur_terms">Function: Blur.terms</h4></div><p class="lead">
<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>Gets the terms list from the index for the given table, family, column using the
startWith value to page through the results.  This method only makes sense to use with
string and text field types.
@return the list of terms for the given column.
<br/><br/><h4 id="Parameters_Blur_terms">Parameters</h4>
<table class="table-bordered table-striped table-condensed"><thead><th>Name</th><th>Description</th></thead><tr><td>table</td><td>the table name.
</td></tr>
<tr><td>columnFamily</td><td>the column family. If the frequency requested is a system field like "rowid", "recordid", "family", etc then columnFamily can be null.
</td></tr>
<tr><td>columnName</td><td>the column name.
</td></tr>
<tr><td>startWith</td><td>the term to start with assuming that you are paging through the term list.
</td></tr>
<tr><td>size</td><td>the number to fetch at once.
</td></tr>
</table></p></section><section><div class="page-header"><h4 id="Fn_Blur_recordFrequency">Function: Blur.recordFrequency</h4></div><p class="lead">
<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>Gets the record frequency for the provided table, family, column and value.
@return the count for the entire table.
<br/><br/><h4 id="Parameters_Blur_recordFrequency">Parameters</h4>
<table class="table-bordered table-striped table-condensed"><thead><th>Name</th><th>Description</th></thead><tr><td>table</td><td>the table name.
</td></tr>
<tr><td>columnFamily</td><td>the column family. If the frequency requested is a system field like "rowid", "recordid", "family", etc then columnFamily can be null.
</td></tr>
<tr><td>columnName</td><td>the column name.
</td></tr>
<tr><td>value</td><td>the value.
</td></tr>
</table></p></section><section><div class="page-header"><h4 id="Fn_Blur_shardClusterList">Function: Blur.shardClusterList</h4></div><p class="lead">
<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.
@return list of all the shard clusters.
<br/></p></section><section><div class="page-header"><h4 id="Fn_Blur_shardServerList">Function: Blur.shardServerList</h4></div><p class="lead">
<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.
@return list of all the shard servers within the cluster.
<br/><br/><h4 id="Parameters_Blur_shardServerList">Parameters</h4>
<table class="table-bordered table-striped table-condensed"><thead><th>Name</th><th>Description</th></thead><tr><td>cluster</td><td>the cluster name.
</td></tr>
</table></p></section><section><div class="page-header"><h4 id="Fn_Blur_controllerServerList">Function: Blur.controllerServerList</h4></div><p class="lead">
<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.
@return list of all the controllers.
<br/></p></section><section><div class="page-header"><h4 id="Fn_Blur_shardServerLayout">Function: Blur.shardServerLayout</h4></div><p class="lead">
<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.<br/><br/>
This method will return the "correct" layout for the given shard, or the
"correct" layout of cluster if called on a controller.<br/><br/>
The meaning of correct:<br/>Given the current state of the shard cluster with failures taken
into account, the correct layout is what the layout should be given the current state.  In
other words, what the shard server should be serving.  The act of calling the shard
server layout method with the NORMAL option will block until the layout shard server
matches the correct layout.  Meaning it will block until indexes that should be open are
open and ready for queries.  However indexes are lazily closed, so if a table is being
disabled then the call will return immediately with an empty map, but the indexes may
not be close yet.<br/><br/>
@return map of shards in a table to the shard servers.
<br/><br/><h4 id="Parameters_Blur_shardServerLayout">Parameters</h4>
<table class="table-bordered table-striped table-condensed"><thead><th>Name</th><th>Description</th></thead><tr><td>table</td><td>the table name.
</td></tr>
</table></p></section><section><div class="page-header"><h4 id="Fn_Blur_shardServerLayoutState">Function: Blur.shardServerLayoutState</h4></div><p class="lead">
<pre><code>map&lt;<code>string</code>, <code>map&lt;<code>string</code>, <code><a href="Blur.html#Enum_ShardState">ShardState</a></code>&gt;</code>&gt;</code> shardServerLayoutState(<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.<br/><br/>
This method will return immediately with what shards are currently
open in the shard server.  So if a shard is being moved to another server and is being
closed by this server it WILL be returned in the map.  The shardServerLayout method would not return
the shard given the same situation.
@return map of shards to a map of shard servers with the state of the shard.
<br/><br/><h4 id="Parameters_Blur_shardServerLayoutState">Parameters</h4>
<table class="table-bordered table-striped table-condensed"><thead><th>Name</th><th>Description</th></thead><tr><td>table</td><td>the table name.
</td></tr>
</table></p></section><section><div class="page-header"><h4 id="Fn_Blur_isInSafeMode">Function: Blur.isInSafeMode</h4></div><p class="lead">
<pre><code>bool</code> isInSafeMode(<code>string</code> cluster)
throws <code><a href="Blur.html#Struct_BlurException">BlurException</a></code>
</pre>Checks to see if the given cluster is in safemode.
@return boolean.
<br/><br/><h4 id="Parameters_Blur_isInSafeMode">Parameters</h4>
<table class="table-bordered table-striped table-condensed"><thead><th>Name</th><th>Description</th></thead><tr><td>cluster</td><td>the name of the cluster.
</td></tr>
</table></p></section><section><div class="page-header"><h4 id="Fn_Blur_configuration">Function: Blur.configuration</h4></div><p class="lead">
<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>Fetches the Blur configuration.
@return Map of property name to value.
<br/></p></section><section><div class="page-header"><h4 id="Fn_Blur_configurationPerServer">Function: Blur.configurationPerServer</h4></div><p class="lead">
<pre><code>string</code> configurationPerServer(<code>string</code> thriftServerPlusPort,
<code>string</code> configName)
throws <code><a href="Blur.html#Struct_BlurException">BlurException</a></code>
</pre>Fetches the Blur configuration.
@return Map of property name to value.
<br/></p></section><section><div class="page-header"><h4 id="Fn_Blur_metrics">Function: Blur.metrics</h4></div><p class="lead">
<pre><code>map&lt;<code>string</code>, <code><a href="Blur.html#Struct_Metric">Metric</a></code>&gt;</code> metrics(<code>set&lt;<code>string</code>&gt;</code> metrics)
throws <code><a href="Blur.html#Struct_BlurException">BlurException</a></code>
</pre>Fetches the Blur metrics by name.  If the metrics parameter is null all the Metrics are returned.
@return Map of metric name to Metric.
<br/><br/><h4 id="Parameters_Blur_metrics">Parameters</h4>
<table class="table-bordered table-striped table-condensed"><thead><th>Name</th><th>Description</th></thead><tr><td>metrics</td><td>the names of the metrics to return.  If null all are returned.
</td></tr>
</table></p></section><section><div class="page-header"><h4 id="Fn_Blur_startTrace">Function: Blur.startTrace</h4></div><p class="lead">
<pre><code>void</code> startTrace(<code>string</code> traceId,
<code>string</code> requestId)
</pre>Starts a trace with the given trace id.
<br/><br/><h4 id="Parameters_Blur_startTrace">Parameters</h4>
<table class="table-bordered table-striped table-condensed"><thead><th>Name</th><th>Description</th></thead><tr><td>traceId</td><td>the trace id.
</td></tr>
<tr><td>requestId</td><td>the request id, used to connected remote calls together.  Client can pass null.
</td></tr>
</table></p></section><section><div class="page-header"><h4 id="Fn_Blur_traceList">Function: Blur.traceList</h4></div><p class="lead">
<pre><code>list&lt;<code>string</code>&gt;</code> traceList()
throws <code><a href="Blur.html#Struct_BlurException">BlurException</a></code>
</pre>Get a list of all the traces.
@return the list of trace ids.
<br/></p></section><section><div class="page-header"><h4 id="Fn_Blur_traceRequestList">Function: Blur.traceRequestList</h4></div><p class="lead">
<pre><code>list&lt;<code>string</code>&gt;</code> traceRequestList(<code>string</code> traceId)
throws <code><a href="Blur.html#Struct_BlurException">BlurException</a></code>
</pre>Gets a request list for the given trace.
@return the list of request ids for the given trace id.
<br/><br/><h4 id="Parameters_Blur_traceRequestList">Parameters</h4>
<table class="table-bordered table-striped table-condensed"><thead><th>Name</th><th>Description</th></thead><tr><td>traceId</td><td>the trace id.
</td></tr>
</table></p></section><section><div class="page-header"><h4 id="Fn_Blur_traceRequestFetch">Function: Blur.traceRequestFetch</h4></div><p class="lead">
<pre><code>string</code> traceRequestFetch(<code>string</code> traceId,
<code>string</code> requestId)
throws <code><a href="Blur.html#Struct_BlurException">BlurException</a></code>
</pre>Fetches the given trace.
@return the json for the given trace request.
<br/><br/><h4 id="Parameters_Blur_traceRequestFetch">Parameters</h4>
<table class="table-bordered table-striped table-condensed"><thead><th>Name</th><th>Description</th></thead><tr><td>traceId</td><td>the trace id.
</td></tr>
<tr><td>requestId</td><td>the request id.
</td></tr>
</table></p></section><section><div class="page-header"><h4 id="Fn_Blur_traceRemove">Function: Blur.traceRemove</h4></div><p class="lead">
<pre><code>void</code> traceRemove(<code>string</code> traceId)
throws <code><a href="Blur.html#Struct_BlurException">BlurException</a></code>
</pre>Remove the trace for the given trace id.
<br/><br/><h4 id="Parameters_Blur_traceRemove">Parameters</h4>
<table class="table-bordered table-striped table-condensed"><thead><th>Name</th><th>Description</th></thead><tr><td>traceId</td><td>the trace id.
</td></tr>
</table></p></section><section><div class="page-header"><h4 id="Fn_Blur_ping">Function: Blur.ping</h4></div><p class="lead">
<pre><code>void</code> ping()
</pre>A way to ping a server to make sure the connection is still valid.
<br/></p></section><section><div class="page-header"><h4 id="Fn_Blur_logging">Function: Blur.logging</h4></div><p class="lead">
<pre><code>void</code> logging(<code>string</code> classNameOrLoggerName,
<code><a href="Blur.html#Enum_Level">Level</a></code> level)
throws <code><a href="Blur.html#Struct_BlurException">BlurException</a></code>
</pre>Changes the logging level for the given instance dynamically at runtime.
<br/><br/><h4 id="Parameters_Blur_logging">Parameters</h4>
<table class="table-bordered table-striped table-condensed"><thead><th>Name</th><th>Description</th></thead><tr><td>classNameOrLoggerName</td><td>the className or Logger Name of the Logger to be changed.
</td></tr>
<tr><td>level</td><td>the logging level.
</td></tr>
</table></p></section><section><div class="page-header"><h4 id="Fn_Blur_resetLogging">Function: Blur.resetLogging</h4></div><p class="lead">
<pre><code>void</code> resetLogging()
throws <code><a href="Blur.html#Struct_BlurException">BlurException</a></code>
</pre>Resets the logging for this instance to match the log4j file.  NOTE: This will allow for dynamically changing to logging file at runtime.
<br/></p></section>
</div>
</div>
</div>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<!--
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.
-->
<!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
<script src="resources/js/jquery-2.0.3.min.js"></script>
<!-- Include all compiled plugins (below), or include individual files as needed -->
<script src="resources/js/bootstrap.min.js"></script>
<!-- Enable responsive features in IE8 with Respond.js (https://github.com/scottjehl/Respond) -->
<script src="resources/js/respond.min.js"></script>
<script src="resources/js/docs.js"></script>
</body>
</html>
