Khafra (khafra_search v0.3.0)

Khafra: The distributed search deployment platform

Link to this section Summary

Functions

Create a table using configured strategy and options

Remove all tables. Generally for testing. This drops for the current node only

Insert, creating table if it does not exist yet

Derive the regular table name into the distributed name khafra standardizes

Taking a query from an ORM or SQL struct build a giza query to a distributed table using the standardized khafra naming. Takes advantage of giza passthrough to ignore nil values. Note that depending on SearchBehaviour fields indexed, some queries would fail such as asking to constrain where on a field not existing in the search index.

Get Observer state; list of search tables

Get a search tables state from the schema it backs

Works off a struct which represents a table name and fills all search rows. Note this can be an expensive operation on large tables; use options to schedule work if necessary.

Trigger jigged maintenance on all registered table servers

Update an entries full fields

Link to this section Functions

Link to this function

create_table(schema, opts \\ [])

Create a table using configured strategy and options

Remove all tables. Generally for testing. This drops for the current node only

Link to this function

insert(result, opts \\ [])

Insert, creating table if it does not exist yet

Link to this function

into_distributed_name(name)

Derive the regular table name into the distributed name khafra standardizes

Link to this function

match(table_or_query, opts \\ [])

Taking a query from an ORM or SQL struct build a giza query to a distributed table using the standardized khafra naming. Takes advantage of giza passthrough to ignore nil values. Note that depending on SearchBehaviour fields indexed, some queries would fail such as asking to constrain where on a field not existing in the search index.

Supports

Get Observer state; list of search tables

Link to this function

peek(atom, schema)

Get a search tables state from the schema it backs

Link to this function

refresh_table(schema, opts \\ [])

Works off a struct which represents a table name and fills all search rows. Note this can be an expensive operation on large tables; use options to schedule work if necessary.

Link to this function

trigger_maintenance()

Trigger jigged maintenance on all registered table servers

Link to this function

update(result, opts \\ [])

Update an entries full fields