View Source OpenApiTypesense.Documents (OpenApiTypesense v0.4.1)
Provides API endpoints related to documents
Summary
Functions
Delete a document
Either one of
Either one of
Delete a bunch of documents
Either one of
Either one of
Delete an override associated with a collection
Either one of
Export all documents in a collection
Either one of
Either one of
Retrieve a document
Either one of
Either one of
Retrieve a single search override
Either one of
List all collection overrides
Either one of
Either one of
Import documents into a collection
Either one of
Either one of
Index a document
Either one of
Either one of
send multiple search requests in a single HTTP request
Either one of
Either one of
Search for documents in a collection
Either one of
Either one of
Update a document
Either one of
Update documents with conditional query
Either one of
Either one of
Create or update an override to promote certain documents over others
Types
Functions
@spec delete_document(String.t(), String.t()) :: {:ok, map()} | {:error, OpenApiTypesense.ApiResponse.t()}
Delete a document
Delete an individual document from a collection by using its ID.
@spec delete_document( map() | OpenApiTypesense.Connection.t() | String.t(), String.t(), String.t() | keyword() ) :: {:ok, map()} | {:error, OpenApiTypesense.ApiResponse.t()}
Either one of:
delete_document(collectionName, documentId, opts)
delete_document(%{api_key: xyz, host: ...}, collectionName, documentId)
delete_document(Connection.new(), collectionName, documentId)
@spec delete_document( map() | OpenApiTypesense.Connection.t(), String.t(), String.t(), keyword() ) :: {:ok, map()} | {:error, OpenApiTypesense.ApiResponse.t()}
Either one of:
delete_document(%{api_key: xyz, host: ...}, collectionName, documentId, opts)
delete_document(Connection.new(), collectionName, documentId, opts)
@spec delete_documents(String.t()) :: {:ok, map()} | {:error, OpenApiTypesense.ApiResponse.t()}
Delete a bunch of documents
Delete a bunch of documents that match a specific filter condition. Use the batch_size
parameter to control the number of documents that should deleted at a time. A larger value will speed up deletions, but will impact performance of other operations running on the server.
Options
deleteDocumentsParameters
@spec delete_documents( map() | OpenApiTypesense.Connection.t() | String.t(), String.t() | keyword() ) :: {:ok, map()} | {:error, OpenApiTypesense.ApiResponse.t()}
Either one of:
delete_documents(collectionName, opts)
delete_documents(%{api_key: xyz, host: ...}, collectionName)
delete_documents(Connection.new(), collectionName)
@spec delete_documents(map() | OpenApiTypesense.Connection.t(), String.t(), keyword()) :: {:ok, map()} | {:error, OpenApiTypesense.ApiResponse.t()}
Either one of:
delete_document(%{api_key: xyz, host: ...}, collectionName, documentId, opts)
delete_document(Connection.new(), collectionName, documentId, opts)
@spec delete_search_override(String.t(), String.t()) :: {:ok, OpenApiTypesense.SearchOverrideDeleteResponse.t()} | {:error, OpenApiTypesense.ApiResponse.t()}
Delete an override associated with a collection
@spec delete_search_override( map() | OpenApiTypesense.Connection.t() | String.t(), String.t(), String.t() | keyword() ) :: {:ok, OpenApiTypesense.SearchOverrideDeleteResponse.t()} | {:error, OpenApiTypesense.ApiResponse.t()}
Either one of:
delete_documents(collectionName, opts)
delete_documents(%{api_key: xyz, host: ...}, collectionName)
delete_documents(Connection.new(), collectionName)
@spec delete_search_override( map() | OpenApiTypesense.Connection.t(), String.t(), String.t(), keyword() ) :: {:ok, OpenApiTypesense.SearchOverrideDeleteResponse.t()} | {:error, OpenApiTypesense.ApiResponse.t()}
Either one of:
delete_documents(%{api_key: xyz, host: ...}, collectionName, opts)
delete_documents(Connection.new(), collectionName, opts)
@spec export_documents(String.t()) :: {:ok, String.t()} | {:error, OpenApiTypesense.ApiResponse.t()}
Export all documents in a collection
Export all documents in a collection in JSON lines format.
Options
exportDocumentsParameters
@spec export_documents( map() | OpenApiTypesense.Connection.t() | String.t(), String.t() | keyword() ) :: {:ok, String.t()} | {:error, OpenApiTypesense.ApiResponse.t()}
Either one of:
export_documents(collectionName, opts)
export_documents(%{api_key: xyz, host: ...}, collectionName)
export_documents(Connection.new(), collectionName)
@spec export_documents(map() | OpenApiTypesense.Connection.t(), String.t(), keyword()) :: {:ok, String.t()} | {:error, OpenApiTypesense.ApiResponse.t()}
Either one of:
export_documents(%{api_key: xyz, host: ...}, collectionName, opts)
export_documents(Connection.new(), collectionName, opts)
@spec get_document(String.t(), String.t()) :: {:ok, map()} | {:error, OpenApiTypesense.ApiResponse.t()}
Retrieve a document
Fetch an individual document from a collection by using its ID.
@spec get_document( map() | OpenApiTypesense.Connection.t() | String.t(), String.t(), String.t() | keyword() ) :: {:ok, map()} | {:error, OpenApiTypesense.ApiResponse.t()}
Either one of:
get_document(collectionName, documentId, opts)
get_document(%{api_key: xyz, host: ...}, collectionName, documentId)
get_document(Connection.new(), collectionName, documentId)
@spec get_document( map() | OpenApiTypesense.Connection.t(), String.t(), String.t(), keyword() ) :: {:ok, map()} | {:error, OpenApiTypesense.ApiResponse.t()}
Either one of:
get_document(%{api_key: xyz, host: ...}, collectionName, documentId, opts)
get_document(Connection.new(), collectionName, documentId, opts)
@spec get_search_override(String.t(), String.t()) :: {:ok, OpenApiTypesense.SearchOverride.t()} | :error
Retrieve a single search override
Retrieve the details of a search override, given its id.
@spec get_search_override( map() | OpenApiTypesense.Connection.t() | String.t(), String.t(), String.t() | keyword() ) :: {:ok, OpenApiTypesense.SearchOverride.t()} | :error
Either one of:
get_search_override(collectionName, overrideId, opts)
get_search_override(%{api_key: xyz, host: ...}, collectionName, overrideId)
get_search_override(Connection.new(), collectionName, overrideId)
@spec get_search_override( map() | OpenApiTypesense.Connection.t(), String.t(), String.t(), keyword() ) :: {:ok, OpenApiTypesense.SearchOverride.t()} | :error
Either one of:
get_search_override(%{api_key: xyz, host: ...}, collectionName, overrideId, opts)
get_search_override(Connection.new(), collectionName, overrideId, opts)
@spec get_search_overrides(String.t()) :: {:ok, OpenApiTypesense.SearchOverridesResponse.t()} | :error
List all collection overrides
@spec get_search_overrides( map() | OpenApiTypesense.Connection.t() | String.t(), String.t() | keyword() ) :: {:ok, OpenApiTypesense.SearchOverridesResponse.t()} | :error
Either one of:
get_search_overrides(collectionName, opts)
get_search_overrides(%{api_key: xyz, host: ...}, collectionName)
get_search_overrides(Connection.new(), collectionName)
@spec get_search_overrides( map() | OpenApiTypesense.Connection.t(), String.t(), keyword() ) :: {:ok, OpenApiTypesense.SearchOverridesResponse.t()} | :error
Either one of:
get_search_overrides(%{api_key: xyz, host: ...}, collectionName, opts)
get_search_overrides(Connection.new(), collectionName, opts)
@spec import_documents(String.t(), String.t()) :: {:ok, String.t()} | {:error, OpenApiTypesense.ApiResponse.t()}
Import documents into a collection
The documents to be imported must be formatted in a newline delimited JSON structure. You can feed the output file from a Typesense export operation directly as import.
Options
importDocumentsParameters
@spec import_documents( map() | OpenApiTypesense.Connection.t() | String.t(), String.t(), String.t() | keyword() ) :: {:ok, String.t()} | {:error, OpenApiTypesense.ApiResponse.t()}
Either one of:
import_documents(collectionName, payload, opts)
import_documents(%{api_key: xyz, host: ...}, collectionName, payload)
import_documents(Connection.new(), collectionName, payload)
@spec import_documents( map() | OpenApiTypesense.Connection.t(), String.t(), String.t(), keyword() ) :: {:ok, String.t()} | {:error, OpenApiTypesense.ApiResponse.t()}
Either one of:
import_documents(%{api_key: xyz, host: ...}, collectionName, payload, opts)
import_documents(Connection.new(), collectionName, payload, opts)
@spec index_document(String.t(), map()) :: {:ok, map()} | {:error, OpenApiTypesense.ApiResponse.t()}
Index a document
A document to be indexed in a given collection must conform to the schema of the collection.
Options
action
: Additional action to performdirty_values
: Dealing with Dirty Data
@spec index_document( map() | OpenApiTypesense.Connection.t() | String.t(), String.t() | map(), map() | keyword() ) :: {:ok, map()} | {:error, OpenApiTypesense.ApiResponse.t()}
Either one of:
index_document(collectionName, payload, opts)
index_document(%{api_key: xyz, host: ...}, collectionName, payload)
index_document(Connection.new(), collectionName, payload)
@spec index_document( map() | OpenApiTypesense.Connection.t(), String.t(), map(), keyword() ) :: {:ok, map()} | {:error, OpenApiTypesense.ApiResponse.t()}
Either one of:
index_document(%{api_key: xyz, host: ...}, collectionName, payload, opts)
index_document(Connection.new(), collectionName, payload, opts)
@spec multi_search(OpenApiTypesense.MultiSearchSearchesParameter.t()) :: {:ok, OpenApiTypesense.MultiSearchResult.t()} | {:error, OpenApiTypesense.ApiResponse.t()}
send multiple search requests in a single HTTP request
This is especially useful to avoid round-trip network latencies incurred otherwise if each of these requests are sent in separate HTTP requests. You can also use this feature to do a federated search across multiple collections in a single HTTP request.
Options
multiSearchParameters
@spec multi_search(map() | OpenApiTypesense.Connection.t(), map() | keyword()) :: {:ok, OpenApiTypesense.MultiSearchResult.t()} | {:error, OpenApiTypesense.ApiResponse.t()}
Either one of:
multi_search(payload, opts)
multi_search(%{api_key: xyz, host: ...}, payload)
multi_search(Connection.new(), payload)
@spec multi_search(map() | OpenApiTypesense.Connection.t(), map(), keyword()) :: {:ok, OpenApiTypesense.MultiSearchResult.t()} | {:error, OpenApiTypesense.ApiResponse.t()}
Either one of:
multi_search(%{api_key: xyz, host: ...}, payload, opts)
multi_search(Connection.new(), payload, opts)
@spec search_collection(String.t()) :: {:ok, OpenApiTypesense.SearchResult.t()} | {:error, OpenApiTypesense.ApiResponse.t()}
Search for documents in a collection
Search for documents in a collection that match the search criteria.
Options
searchParameters
@spec search_collection( map() | OpenApiTypesense.Connection.t() | String.t(), String.t() | keyword() ) :: {:ok, OpenApiTypesense.SearchResult.t()} | {:error, OpenApiTypesense.ApiResponse.t()}
Either one of:
search_collection(payload, opts)
search_collection(%{api_key: xyz, host: ...}, payload)
search_collection(Connection.new(), payload)
@spec search_collection( map() | OpenApiTypesense.Connection.t(), String.t(), keyword() ) :: {:ok, OpenApiTypesense.SearchResult.t()} | {:error, OpenApiTypesense.ApiResponse.t()}
Either one of:
search_collection(%{api_key: xyz, host: ...}, payload, opts)
search_collection(Connection.new(), payload, opts)
@spec update_document(String.t(), String.t(), map()) :: {:ok, map()} | {:error, OpenApiTypesense.ApiResponse.t()}
Update a document
Update an individual document from a collection by using its ID. The update can be partial.
Options
dirty_values
: Dealing with Dirty Data
@spec update_document( map() | OpenApiTypesense.Connection.t() | String.t(), String.t(), String.t() | map(), map() | keyword() ) :: {:ok, map()} | {:error, OpenApiTypesense.ApiResponse.t()}
Either one of:
update_document(collectionName, documentId, opts)
update_document(%{api_key: xyz, host: ...}, collectionName, documentId)
update_document(Connection.new(), collectionName, documentId)
@spec update_document( map() | OpenApiTypesense.Connection.t(), String.t(), String.t(), map(), keyword() ) :: {:ok, map()} | {:error, OpenApiTypesense.ApiResponse.t()}
Either one of:
update_document(%{api_key: xyz, host: ...}, collectionName, documentId, opts)
update_document(Connection.new(), collectionName, documentId, opts)
@spec update_documents(String.t(), map()) :: {:ok, map()} | {:error, OpenApiTypesense.ApiResponse.t()}
Update documents with conditional query
The filter_by query parameter is used to filter to specify a condition against which the documents are matched. The request body contains the fields that should be updated for any documents that match the filter condition. This endpoint is only available if the Typesense server is version 0.25.0.rc12
or later.
Options
updateDocumentsParameters
@spec update_documents( map() | OpenApiTypesense.Connection.t() | String.t(), String.t() | map(), map() | keyword() ) :: {:ok, map()} | {:error, OpenApiTypesense.ApiResponse.t()}
Either one of:
update_documents(collectionName, payload, opts)
update_document(%{api_key: xyz, host: ...}, collectionName, payload)
update_document(Connection.new(), collectionName, payload)
@spec update_documents( map() | OpenApiTypesense.Connection.t(), String.t(), map(), keyword() ) :: {:ok, map()} | {:error, OpenApiTypesense.ApiResponse.t()}
Either one of:
update_documents(%{api_key: xyz, host: ...}, collectionName, payload, opts)
update_documents(Connection.new(), collectionName, payload, opts)
Create or update an override to promote certain documents over others
Create or update an override to promote certain documents over others. Using overrides, you can include or exclude specific documents for a given query.
@spec upsert_search_override(String.t(), String.t(), map(), keyword()) :: {:ok, OpenApiTypesense.SearchOverride.t()} | {:error, OpenApiTypesense.ApiResponse.t()}
@spec upsert_search_override( map() | OpenApiTypesense.Connection.t() | String.t(), String.t(), String.t() | map(), map() | keyword() ) :: {:ok, OpenApiTypesense.SearchOverride.t()} | {:error, OpenApiTypesense.ApiResponse.t()}
Either one of:
upsert_search_override(collectionName, overrideId, payload, opts)
upsert_search_override(%{api_key: xyz, host: ...}, collectionName, overrideId, payload)
upsert_search_override(Connection.new(), collectionName, overrideId, payload)
@spec upsert_search_override( map() | OpenApiTypesense.Connection.t(), String.t(), String.t(), map(), keyword() ) :: {:ok, OpenApiTypesense.SearchOverride.t()} | {:error, OpenApiTypesense.ApiResponse.t()}
Either one of:
upsert_search_override(%{api_key: xyz, host: ...}, collectionName, overrideId, payload, opts)
upsert_search_override(Connection.new(), collectionName, overrideId, payload, opts)