elasticsearch-store / index-store / IndexStore
Class: IndexStore<T>
Defined in: index-store.ts:27
A single index elasticsearch-store with some specific requirements around the index name, and record data
Extended by
Type Parameters
| Type Parameter |
|---|
T extends Record<string, any> |
Constructors
Constructor
new IndexStore<
T>(client,config):IndexStore<T>
Defined in: index-store.ts:50
Parameters
| Parameter | Type |
|---|---|
client | Client |
config | IndexConfig<T> |
Returns
IndexStore<T>
Properties
| Property | Modifier | Type | Default value | Defined in |
|---|---|---|---|---|
_defaultQueryAccess | protected | undefined | QueryAccess<T> | undefined | index-store.ts:34 |
client | readonly | Client | undefined | index-store.ts:28 |
clientMetadata | readonly | ClientMetadata | undefined | index-store.ts:33 |
config | readonly | IndexConfig<T> | undefined | index-store.ts:29 |
manager | readonly | IndexManager | undefined | index-store.ts:30 |
name | readonly | string | undefined | index-store.ts:31 |
readHooks | readonly | Set<ReadHook<T>> | undefined | index-store.ts:38 |
refreshByDefault | public | boolean | true | index-store.ts:32 |
writeHooks | readonly | Set<WriteHook<T>> | undefined | index-store.ts:37 |
xLuceneTypeConfig | readonly | xLuceneTypeConfig | undefined | index-store.ts:35 |
Accessors
searchIndex
Get Signature
get searchIndex():
string
Defined in: index-store.ts:107
The index typically used for searching across all of the open indices
Returns
string
writeIndex
Get Signature
get writeIndex():
string
Defined in: index-store.ts:100
The most current indexed used to write to
Returns
string
Methods
_search()
protected_search(params):Promise<SearchResponse<T>>
Defined in: index-store.ts:744
A small abstraction on client.search with retry support
Parameters
| Parameter | Type |
|---|---|
params | PartialParam<ClientParams.SearchParams> |
Returns
Promise<SearchResponse<T>>
_toRecord()
protected_toRecord(result,critical):T
Defined in: index-store.ts:874
Parameters
| Parameter | Type | Default value |
|---|---|---|
result | SearchResult<T> | undefined |
critical | boolean | true |
Returns
T
_toRecords()
protected_toRecords(results,critical):T[]
Defined in: index-store.ts:886
Parameters
| Parameter | Type | Default value |
|---|---|---|
results | SearchResult<T>[] | undefined |
critical | boolean | false |
Returns
T[]
aggregate()
aggregate<
A>(query,params?):Promise<A>
Defined in: index-store.ts:728
Run an aggregation using an Elasticsearch Query DSL
Type Parameters
| Type Parameter | Default type |
|---|---|
A | SearchAggregations |
Parameters
| Parameter | Type |
|---|---|
query | Record<string, any> |
params? | PartialParam<SearchParams, any> |
Returns
Promise<A>
appendToArray()
appendToArray(
id,field,values):Promise<void>
Defined in: index-store.ts:793
Append values from an array on a record. Use with caution, this may not work in all cases.
Parameters
| Parameter | Type |
|---|---|
id | string |
field | keyof T |
values | string | string[] |
Returns
Promise<void>
bulk()
Call Signature
bulk(
action,id):Promise<void>
Defined in: index-store.ts:126
Safely add a create, index, or update requests to the bulk queue
This method will batch messages using the configured bulk max size and wait configuration.
Because using the upsert-with-script api since that can break depending on the underlying elasticsearch version and/or client library
Parameters
| Parameter | Type |
|---|---|
action | "delete" |
id | string |
Returns
Promise<void>
Todo
we need to add concurrency support for sending multiple bulk requests in flight and making sure they finish before shutdown
Call Signature
bulk(
action,doc,id?,retryOnConflict?,onBulkQueueConflict?):Promise<void>
Defined in: index-store.ts:127
Safely add a create, index, or update requests to the bulk queue
This method will batch messages using the configured bulk max size and wait configuration.
Because using the upsert-with-script api since that can break depending on the underlying elasticsearch version and/or client library
Parameters
| Parameter | Type | Description |
|---|---|---|
action | "index" | "create" | - |
doc | Partial<T> | - |
id? | string | - |
retryOnConflict? | number | - |
onBulkQueueConflict? | OnBulkConflictFn<T> | is used to detect and replace existing items in the bulk queue with the same name and action |
Returns
Promise<void>
Todo
we need to add concurrency support for sending multiple bulk requests in flight and making sure they finish before shutdown
Call Signature
bulk(
action,doc,id?,retryOnConflict?,onBulkQueueConflict?):Promise<void>
Defined in: index-store.ts:128
Safely add a create, index, or update requests to the bulk queue
This method will batch messages using the configured bulk max size and wait configuration.
Because using the upsert-with-script api since that can break depending on the underlying elasticsearch version and/or client library
Parameters
| Parameter | Type | Description |
|---|---|---|
action | "update" | - |
doc | Partial<T> | - |
id? | string | - |
retryOnConflict? | number | - |
onBulkQueueConflict? | OnBulkConflictFn<T> | is used to detect and replace existing items in the bulk queue with the same name and action |
Returns
Promise<void>
Todo
we need to add concurrency support for sending multiple bulk requests in flight and making sure they finish before shutdown
Call Signature
bulk(
action,script,id?,retryOnConflict?,onBulkQueueConflict?):Promise<void>
Defined in: index-store.ts:129
Safely add a create, index, or update requests to the bulk queue
This method will batch messages using the configured bulk max size and wait configuration.
Because using the upsert-with-script api since that can break depending on the underlying elasticsearch version and/or client library
Parameters
| Parameter | Type | Description |
|---|---|---|
action | "upsert-with-script" | - |
script | UpsertWithScript<T> | - |
id? | string | - |
retryOnConflict? | number | - |
onBulkQueueConflict? | OnBulkConflictFn<T> | is used to detect and replace existing items in the bulk queue with the same name and action |
Returns
Promise<void>
Todo
we need to add concurrency support for sending multiple bulk requests in flight and making sure they finish before shutdown
count()
count(
query?,options?,queryAccess?):Promise<number>
Defined in: index-store.ts:217
Count records by a given Lucene Query
Parameters
| Parameter | Type |
|---|---|
query? | string |
options? | RestrictOptions |
queryAccess? | QueryAccess<T> |
Returns
Promise<number>
countBy()
countBy(
fields,joinBy?,options?,queryAccess?):Promise<number>
Defined in: index-store.ts:526
Parameters
| Parameter | Type |
|---|---|
fields | AnyInput<T> |
joinBy? | JoinBy |
options? | RestrictOptions |
queryAccess? | QueryAccess<T> |
Returns
Promise<number>
countRequest()
countRequest(
params):Promise<number>
Defined in: index-store.ts:231
Count records by a given Elasticsearch Query DSL
Parameters
| Parameter | Type |
|---|---|
params | CountParams |
Returns
Promise<number>
create()
create(
doc,params?):Promise<T>
Defined in: index-store.ts:261
Create a document but will throw if doc already exists
Parameters
| Parameter | Type |
|---|---|
doc | Partial<T> |
params? | PartialParam<CreateParams<T>, "body"> |
Returns
Promise<T>
the created record
createById()
createById(
id,doc,params?):Promise<T>
Defined in: index-store.ts:249
Create a document with an id
Parameters
| Parameter | Type |
|---|---|
id | string |
doc | Partial<T> |
params? | PartialParam<CreateParams<T>, "id" | "body"> |
Returns
Promise<T>
the created record
createJoinQuery()
createJoinQuery(
fields,joinBy,variables):xLuceneQueryResult
Defined in: index-store.ts:778
Parameters
| Parameter | Type | Default value |
|---|---|---|
fields | AnyInput<T> | undefined |
joinBy | JoinBy | 'AND' |
variables | { } | {} |
Returns
xLuceneQueryResult
deleteById()
deleteById(
id,params?):Promise<void>
Defined in: index-store.ts:407
Deletes a document for a given id
Parameters
| Parameter | Type |
|---|---|
id | string |
params? | PartialParam<DeleteParams, any> |
Returns
Promise<void>
exists()
exists(
id,options?,queryAccess?):Promise<boolean>
Defined in: index-store.ts:537
Parameters
| Parameter | Type |
|---|---|
id | string | string[] |
options? | RestrictOptions |
queryAccess? | QueryAccess<T> |
Returns
Promise<boolean>
findAll()
findAll(
ids,options?,queryAccess?):Promise<T[]>
Defined in: index-store.ts:637
Parameters
| Parameter | Type |
|---|---|
ids | undefined | string | string[] |
options? | FindOneOptions<T> |
queryAccess? | QueryAccess<T> |
Returns
Promise<T[]>
findAllBy()
findAllBy(
fields,joinBy?,options?,queryAccess?):Promise<T[]>
Defined in: index-store.ts:586
Parameters
| Parameter | Type |
|---|---|
fields | AnyInput<T> |
joinBy? | JoinBy |
options? | FindOptions<T> |
queryAccess? | QueryAccess<T> |
Returns
Promise<T[]>
findAndApply()
findAndApply(
updates,options?,queryAccess?):Promise<Partial<T>>
Defined in: index-store.ts:618
Parameters
| Parameter | Type |
|---|---|
updates | undefined | Partial<T> |
options? | FindOneOptions<T> |
queryAccess? | QueryAccess<T> |
Returns
Promise<Partial<T>>
findBy()
findBy(
fields,joinBy?,options?,queryAccess?):Promise<T>
Defined in: index-store.ts:552
Parameters
| Parameter | Type |
|---|---|
fields | AnyInput<T> |
joinBy? | JoinBy |
options? | FindOneOptions<T> |
queryAccess? | QueryAccess<T> |
Returns
Promise<T>
findById()
findById(
id,options?,queryAccess?):Promise<T>
Defined in: index-store.ts:604
Parameters
| Parameter | Type |
|---|---|
id | string |
options? | FindOneOptions<T> |
queryAccess? | QueryAccess<T> |
Returns
Promise<T>
flush()
flush(
flushAll):Promise<void>
Defined in: index-store.ts:285
Parameters
| Parameter | Type | Default value |
|---|---|---|
flushAll | boolean | false |
Returns
Promise<void>
get()
get(
id,params?):Promise<T>
Defined in: index-store.ts:302
Get a single document
Parameters
| Parameter | Type |
|---|---|
id | string |
params? | PartialParam<GetParams, any> |
Returns
Promise<T>
getDefaultParams()
getDefaultParams<
P>(index, ...params):P
Defined in: index-store.ts:509
Type Parameters
| Type Parameter | Default type |
|---|---|
P extends Record<string, any> | object |
Parameters
| Parameter | Type |
|---|---|
index | string |
...params | (undefined | Partial<P> & Record<string, any>)[] |
Returns
P
index()
index(
doc,params?):Promise<T>
Defined in: index-store.ts:334
Index a document
Parameters
| Parameter | Type |
|---|---|
doc | T | Partial<T> |
params? | PartialParam<IndexParams<T>, "body"> |
Returns
Promise<T>
indexById()
indexById(
id,doc,params?):Promise<T>
Defined in: index-store.ts:358
A convenience method for indexing a document with an ID
Parameters
| Parameter | Type |
|---|---|
id | string |
doc | T | Partial<T> |
params? | PartialParam<IndexParams<T>, "type" | "index" | "id"> |
Returns
Promise<T>
initialize()
initialize():
Promise<void>
Defined in: index-store.ts:319
Connect and validate the index configuration.
Returns
Promise<void>
mget()
mget(
body,params?):Promise<T[]>
Defined in: index-store.ts:369
Get multiple documents at the same time
Parameters
| Parameter | Type |
|---|---|
body | MGetBody |
params? | PartialParam<MGetParams, any> |
Returns
Promise<T[]>
migrateIndex()
migrateIndex(
options):Promise<any>
Defined in: index-store.ts:386
Parameters
| Parameter | Type |
|---|---|
options | MigrateIndexStoreOptions |
Returns
Promise<any>
See
IndexManager#migrateIndex
refresh()
refresh(
params?):Promise<void>
Defined in: index-store.ts:393
Refreshes the current index
Parameters
| Parameter | Type |
|---|---|
params? | PartialParam<IndicesRefreshParams, any> |
Returns
Promise<void>
removeFromArray()
removeFromArray(
id,field,values):Promise<void>
Defined in: index-store.ts:823
Remove values from an array on a record. Use with caution, this may not work in all cases.
Parameters
| Parameter | Type |
|---|---|
id | string |
field | keyof T |
values | string | string[] |
Returns
Promise<void>
search()
search(
q?,options?,queryAccess?,critical?):Promise<SearchResult<T>>
Defined in: index-store.ts:673
Search with a given Lucene Query
Parameters
| Parameter | Type |
|---|---|
q? | string |
options? | FindOptions<T> |
queryAccess? | QueryAccess<T> |
critical? | boolean |
Returns
Promise<SearchResult<T>>
searchRequest()
searchRequest(
params,critical?):Promise<SearchResult<T>>
Defined in: index-store.ts:708
Search using the underlying Elasticsearch Query DSL
Parameters
| Parameter | Type |
|---|---|
params | PartialParam<ClientParams.SearchParams> |
critical? | boolean |
Returns
Promise<SearchResult<T>>
shutdown()
shutdown():
Promise<void>
Defined in: index-store.ts:428
Shutdown, flush any pending requests and cleanup
Returns
Promise<void>
update()
update(
id,body,params?):Promise<void>
Defined in: index-store.ts:441
Update a document with a given id
Parameters
| Parameter | Type |
|---|---|
id | string |
body | UpdateBody<T> |
params? | PartialParam<UpdateParams<unknown, unknown>, "id" | "body"> |
Returns
Promise<void>
updatePartial()
updatePartial(
id,applyChanges,retriesOnConflict):Promise<T>
Defined in: index-store.ts:474
Safely apply updates to a document by applying the latest changes
Parameters
| Parameter | Type | Default value |
|---|---|---|
id | string | undefined |
applyChanges | ApplyPartialUpdates<T> | undefined |
retriesOnConflict | number | 3 |
Returns
Promise<T>