Interface IDataEnricherApi
Namespace: Casewhere.Runtime.DSL.Api
Assembly: Casewhere.Runtime.dll
Provides methods for working with data enriching service.
public interface IDataEnricherApi : IDslApi
Implements
Extension Methods
ObjectExtension.ConvertToBsonValue(object), EnumExtensions.DeepClone<IDataEnricherApi>(IDataEnricherApi)
Examples
var dataApi = ctx.Use<IDataEnricherApi>();
dataApi.Queue(dataObjectId);
Methods
CreateIndex(string, DslIndexDefinition)
Create an index for attributes of data class.
void CreateIndex(string dataClassName, DslIndexDefinition indexDefinition)
Parameters
dataClassName
string
Data class name by user defined
indexDefinition
DslIndexDefinition
Index information
Examples
var dataClassName = "Company";
var indexDefinition = new DslIndexDefinition()
{
Name= "CompanyName", //User define
Keys = new List<DslIndexKeyDefinition>()
{
new DslIndexKeyDefinition(name: "CompanyName", indexType: 1)
}
};
var dataEnricherApi = ctx.Use<IDataEnricherApi>();
dataEnricherApi.CreateIndex(dataClassName, indexDefinition);
DropIndex(string, string)
Drop an index of data class.
void DropIndex(string dataClassName, string indexName)
Parameters
dataClassName
string
Data class name by user defined.
indexName
string
Name of Index.
Examples
var dataClassName = "Company";
var indexName = "CompanyName";
var dataEnricherApi = ctx.Use<IDataEnricherApi>();
dataEnricherApi.DropIndex(dataClassName, indexName);
Enrich(string)
Enrich search data for specific data object id
void Enrich(string dataObjectId)
Parameters
dataObjectId
string
GetIndexes(string)
Get list existing indexes of data class.
List<DslIndexDefinition> GetIndexes(string dataClassName)
Parameters
dataClassName
string
Data class name by user defined.
Returns
List existing indexes of data class
Examples
var dataClassName = "Company";
var dataEnricherApi = ctx.Use<IDataEnricherApi>();
var currentIndexes = dataEnricherApi.GetIndexes(dataClassName);
Queue(string)
Queues a data enriching job for specific data object id
void Queue(string dataObjectId)
Parameters
dataObjectId
string
QueueAll(string, TimeSpan?, int)
Enrich the whole data collection. The workflow will be blocked until all the data enriching jobs are queued.
void QueueAll(string dataClassName, TimeSpan? timeout = null, int batchSize = 100)
Parameters
dataClassName
string
The data class name.
timeout
TimeSpan?
The timeout.
batchSize
int
The batch size.
Examples
var dataApi = ctx.Use<IDataEnricherApi>();
dataApi.QueueAll("Employee", TimeSpan.FromSeconds(30));
QueueAllAsync(string, TimeSpan?, int)
Enrich the whole data collection asynchronously. The workflow will be continue and finish without waiting all the jobs are queued.
void QueueAllAsync(string dataClassName, TimeSpan? timeout = null, int batchSize = 100)
Parameters
dataClassName
string
The data class name.
timeout
TimeSpan?
The timeout.
batchSize
int
The batch size.
Examples
var dataApi = ctx.Use<IDataEnricherApi>();
dataApi.QueueAllAsync("Employee", TimeSpan.FromSeconds(30));