Interface IQueryingClient
Contains functionality to query and scroll for entities.
Namespace: StylelabsStylelabs.MSdkClients
Assembly: Stylelabs.M.Sdk.dll
Syntax
public interface IQueryingClient
Methods
CreateEntityIdIterator(Query)
Creates an IEntityIterator that iterates over all ids matched by the Query.
Declaration
IIdIterator CreateEntityIdIterator(Query query)
Parameters
Type | Name | Description |
---|---|---|
Query | query |
The query to iterate. |
Returns
Type | Description |
---|---|
IIdIterator |
An iterator. |
CreateEntityIdScroller(Query, TimeSpan?)
Creates an IIdScroller that scrolls over all ids of entities that match the Query.
Declaration
IIdScroller CreateEntityIdScroller(Query query, TimeSpan? scrollTime = null)
Parameters
Type | Name | Description |
---|---|---|
Query | query |
The query to scroll. |
TimeSpan | scrollTime |
The time for the scroll to live. If it is not specified, ScrollTime will be used. The scroll time should not be too long, just enough to process each batch of results. |
Returns
Type | Description |
---|---|
IIdScroller |
An IIdScroller instance. |
Remarks
Use scrolling wisely and try to limit the scrollTime
for the scroll to live.
Using scrolling inappropriately can cause performance issues.
See https://www.elastic.co/guide/en/elasticsearch/reference/current/search-request-scroll.html for more information.
CreateEntityIterator(Query, IEntityLoadConfiguration)
Creates an IEntityIterator that iterates over all results matched by the Query.
Declaration
IEntityIterator CreateEntityIterator(Query query, IEntityLoadConfiguration loadConfiguration = null)
Parameters
Type | Name | Description |
---|---|---|
Query | query |
The query to iterate. |
IEntityLoadConfiguration | loadConfiguration |
The load configuration. If it is null, then Default will be used. |
Returns
Type | Description |
---|---|
IEntityIterator |
An iterator. |
Remarks
For compatibility with the 3.0 SDK, the loading configuration is resolved as follows:
- The
loadConfiguration
will be used, if not null. - The IQueryLoadConfiguration from the
query
will be used, if not null and if applicable. - Otherwise, defaults to Default.
CreateEntityScroller(Query, TimeSpan?, IEntityLoadConfiguration)
Creates an IEntityScroller that scrolls over all entities that match the Query.
Declaration
IEntityScroller CreateEntityScroller(Query query, TimeSpan? scrollTime = null, IEntityLoadConfiguration loadConfiguration = null)
Parameters
Type | Name | Description |
---|---|---|
Query | query |
The query to scroll. |
TimeSpan | scrollTime |
The time for the scroll to live. If it is not specified, ScrollTime will be used. The scroll time should not be too long, just enough to process each batch of results. |
IEntityLoadConfiguration | loadConfiguration |
The load configuration. If it is null, then Default will be used. |
Returns
Type | Description |
---|---|
IEntityScroller |
An IEntityScroller instance. |
Remarks
Use scrolling wisely and try to limit the scrollTime
for the scroll to live.
Using scrolling inappropriately can cause performance issues.
See https://www.elastic.co/guide/en/elasticsearch/reference/current/search-request-scroll.html for more information.
QueryAsync(Query, IEntityLoadConfiguration)
Retrieves entities matching the query
.
Declaration
Task<IEntityQueryResult> QueryAsync(Query query, IEntityLoadConfiguration loadConfiguration = null)
Parameters
Type | Name | Description |
---|---|---|
Query | query |
The query to execute. |
IEntityLoadConfiguration | loadConfiguration |
The load configuration. If it is null, then Default will be used. |
Returns
Type | Description |
---|---|
Task<>IEntityQueryResult |
An IEntityQueryResult containing the results of the query. |
Remarks
For compatibility with the 3.0 SDK, the loading configuration is resolved as follows:
- The
loadConfiguration
will be used, if not null. - The IQueryLoadConfiguration from the
query
will be used, if not null and if applicable. - Otherwise, defaults to Default.
QueryIdsAsync(Query)
Retrieves the ids of entities matching the query
.
Declaration
Task<IIdQueryResult> QueryIdsAsync(Query query)
Parameters
Type | Name | Description |
---|---|---|
Query | query |
The query to execute. |
Returns
Type | Description |
---|---|
Task<>IIdQueryResult |
An IEntityQueryResult containing the results of the query. |
SingleAsync(Query, IEntityLoadConfiguration)
Gets a single entity that matches the query.
Declaration
Task<IEntity> SingleAsync(Query query, IEntityLoadConfiguration loadConfiguration = null)
Parameters
Type | Name | Description |
---|---|---|
Query | query |
The query to execute. |
IEntityLoadConfiguration | loadConfiguration |
The load configuration. If it is null, then Default will be used. |
Returns
Type | Description |
---|---|
Task<>IEntity |
The entity that matches the query or null if there are no results. |
Remarks
For compatibility with the 3.0 SDK, the loading configuration is resolved as follows:
- The
loadConfiguration
will be used, if not null. - The IQueryLoadConfiguration from the
query
will be used, if not null and if applicable. - Otherwise, defaults to Default.
SingleIdAsync(Query)
Gets a the id of the entity that matches the query.
Declaration
Task<long?> SingleIdAsync(Query query)
Parameters
Type | Name | Description |
---|---|---|
Query | query |
The query to execute. |
Returns
Type | Description |
---|---|
Task<>long |
The id of the entity that matches the query or null if there are no results. |