elasticsearch-store / index-store / IndexStore
Class: IndexStore<T>
Defined in: elasticsearch-store/src/index-store.ts:28
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
new IndexStore()
new IndexStore<
T
>(client
,config
):IndexStore
<T
>
Defined in: elasticsearch-store/src/index-store.ts:51
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 | elasticsearch-store/src/index-store.ts:35 |
client | readonly | Client | undefined | elasticsearch-store/src/index-store.ts:29 |
clientMetadata | readonly | ClientMetadata | undefined | elasticsearch-store/src/index-store.ts:34 |
config | readonly | IndexConfig <T > | undefined | elasticsearch-store/src/index-store.ts:30 |
manager | readonly | IndexManager | undefined | elasticsearch-store/src/index-store.ts:31 |
name | readonly | string | undefined | elasticsearch-store/src/index-store.ts:32 |
readHooks | readonly | Set <ReadHook <T >> | undefined | elasticsearch-store/src/index-store.ts:39 |
refreshByDefault | public | boolean | true | elasticsearch-store/src/index-store.ts:33 |
writeHooks | readonly | Set <WriteHook <T >> | undefined | elasticsearch-store/src/index-store.ts:38 |
xLuceneTypeConfig | readonly | xLuceneTypeConfig | undefined | elasticsearch-store/src/index-store.ts:36 |
Accessors
searchIndex
Get Signature
get searchIndex():
string
Defined in: elasticsearch-store/src/index-store.ts:108
The index typically used for searching across all of the open indices
Returns
string
writeIndex
Get Signature
get writeIndex():
string
Defined in: elasticsearch-store/src/index-store.ts:101
The most current indexed used to write to
Returns
string
Methods
_search()
protected
_search(params
):Promise
<SearchResponse
<T
>>
Defined in: elasticsearch-store/src/index-store.ts:744
A small abstraction on client.search with retry support
Parameters
Parameter | Type |
---|---|
params | PartialParam <SearchParams > |
Returns
Promise
<SearchResponse
<T
>>
_toRecord()
protected
_toRecord(result
,critical
):T
Defined in: elasticsearch-store/src/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: elasticsearch-store/src/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: elasticsearch-store/src/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: elasticsearch-store/src/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: elasticsearch-store/src/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 |
---|---|
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: elasticsearch-store/src/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 | "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: elasticsearch-store/src/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 | "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: elasticsearch-store/src/index-store.ts:130
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: elasticsearch-store/src/index-store.ts:218
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: elasticsearch-store/src/index-store.ts:527
Parameters
Parameter | Type |
---|---|
fields | AnyInput <T > |
joinBy ? | JoinBy |
options ? | RestrictOptions |
queryAccess ? | QueryAccess <T > |
Returns
Promise
<number
>
countRequest()
countRequest(
params
):Promise
<number
>
Defined in: elasticsearch-store/src/index-store.ts:232
Count records by a given Elasticsearch Query DSL
Parameters
Parameter | Type |
---|---|
params | CountParams |
Returns
Promise
<number
>
create()
create(
doc
,params
?):Promise
<T
>
Defined in: elasticsearch-store/src/index-store.ts:262
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: elasticsearch-store/src/index-store.ts:250
Create a document with an id
Parameters
Parameter | Type |
---|---|
id | string |
doc | Partial <T > |
params ? | PartialParam <CreateParams <T >, "body" | "id" > |
Returns
Promise
<T
>
the created record
createJoinQuery()
createJoinQuery(
fields
,joinBy
,variables
):xLuceneQueryResult
Defined in: elasticsearch-store/src/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: elasticsearch-store/src/index-store.ts:408
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: elasticsearch-store/src/index-store.ts:538
Parameters
Parameter | Type |
---|---|
id | string | string [] |
options ? | RestrictOptions |
queryAccess ? | QueryAccess <T > |
Returns
Promise
<boolean
>
findAll()
findAll(
ids
,options
?,queryAccess
?):Promise
<T
[]>
Defined in: elasticsearch-store/src/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: elasticsearch-store/src/index-store.ts:587
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: elasticsearch-store/src/index-store.ts:619
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: elasticsearch-store/src/index-store.ts:553
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: elasticsearch-store/src/index-store.ts:605
Parameters
Parameter | Type |
---|---|
id | string |
options ? | FindOneOptions <T > |
queryAccess ? | QueryAccess <T > |
Returns
Promise
<T
>
flush()
flush(
flushAll
):Promise
<void
>
Defined in: elasticsearch-store/src/index-store.ts:286
Parameters
Parameter | Type | Default value |
---|---|---|
flushAll | boolean | false |
Returns
Promise
<void
>
get()
get(
id
,params
?):Promise
<T
>
Defined in: elasticsearch-store/src/index-store.ts:303
Get a single document
Parameters
Parameter | Type |
---|---|
id | string |
params ? | PartialParam <GetParams , any > |
Returns
Promise
<T
>
getDefaultParams()
getDefaultParams<
P
>(index
, ...params
):P
Defined in: elasticsearch-store/src/index-store.ts:510
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: elasticsearch-store/src/index-store.ts:335
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: elasticsearch-store/src/index-store.ts:359
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: elasticsearch-store/src/index-store.ts:320
Connect and validate the index configuration.
Returns
Promise
<void
>
mget()
mget(
body
,params
?):Promise
<T
[]>
Defined in: elasticsearch-store/src/index-store.ts:370
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: elasticsearch-store/src/index-store.ts:387
Parameters
Parameter | Type |
---|---|
options | MigrateIndexStoreOptions |
Returns
Promise
<any
>
See
IndexManager#migrateIndex
refresh()
refresh(
params
?):Promise
<void
>
Defined in: elasticsearch-store/src/index-store.ts:394
Refreshes the current index
Parameters
Parameter | Type |
---|---|
params ? | PartialParam <IndicesRefreshParams , any > |
Returns
Promise
<void
>
removeFromArray()
removeFromArray(
id
,field
,values
):Promise
<void
>
Defined in: elasticsearch-store/src/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: elasticsearch-store/src/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: elasticsearch-store/src/index-store.ts:708
Search using the underlying Elasticsearch Query DSL
Parameters
Parameter | Type |
---|---|
params | PartialParam <SearchParams > |
critical ? | boolean |
Returns
Promise
<SearchResult
<T
>>
shutdown()
shutdown():
Promise
<void
>
Defined in: elasticsearch-store/src/index-store.ts:429
Shutdown, flush any pending requests and cleanup
Returns
Promise
<void
>
update()
update(
id
,body
,params
?):Promise
<void
>
Defined in: elasticsearch-store/src/index-store.ts:442
Update a document with a given id
Parameters
Parameter | Type |
---|---|
id | string |
body | UpdateBody <T > |
params ? | PartialParam <UpdateParams <unknown , unknown >, "body" | "id" > |
Returns
Promise
<void
>
updatePartial()
updatePartial(
id
,applyChanges
,retriesOnConflict
):Promise
<T
>
Defined in: elasticsearch-store/src/index-store.ts:475
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
>