Elasticsearch#
WIP - auto-generated documentation. This can be used to imply the index document structures, but it is recommended to refer to the Elasticsearch instance directly.
Objects used to interface with Elasticsearch implementations.
- class app.domain.references.models.es.AnnotationDocument(meta: Dict[str, Any] | None = None, **kwargs: Any)[source]#
Bases:
InnerDocPersistence model for useful annotation fields in Elasticsearch.
- class app.domain.references.models.es.EnhancementContentDocument(meta: Dict[str, Any] | None = None, **kwargs: Any)[source]#
Bases:
InnerDocPersistence model for enhancement content in Elasticsearch.
We define anything we want to explicitly index here and map as dynamic in the parent document.
- annotations: list[AnnotationDocument] | None = InstrumentedField[annotations][source]#
- enhancement_type: EnhancementType = InstrumentedField[enhancement_type][source]#
- class app.domain.references.models.es.EnhancementDocument(meta: Dict[str, Any] | None = None, **kwargs: Any)[source]#
Bases:
InnerDocPersistence model for enhancements in Elasticsearch.
- content: EnhancementContentDocument = InstrumentedField[content][source]#
- classmethod from_domain(domain_obj: Enhancement) Self[source]#
Create a persistence model from a domain model.
- to_domain(reference_id: UUID) Enhancement[source]#
Create a domain model from this persistence model.
- visibility: Visibility = InstrumentedField[visibility][source]#
- class app.domain.references.models.es.ExternalIdentifierDocument(meta: Dict[str, Any] | None = None, **kwargs: Any)[source]#
Bases:
InnerDocPersistence model for external identifiers in Elasticsearch.
- classmethod from_domain(domain_obj: LinkedExternalIdentifier) Self[source]#
Create a persistence model from a domain ExternalIdentifier object.
- identifier_type: ExternalIdentifierType = InstrumentedField[identifier_type][source]#
- to_domain(reference_id: UUID) LinkedExternalIdentifier[source]#
Convert the persistence model into a Domain ExternalIdentifier object.
- class app.domain.references.models.es.ReferenceCandidateCanonicalMixin(meta: Dict[str, Any] | None = None, **kwargs: Any)[source]#
Bases:
InnerDocMixin to project Reference fields relevant to deduplication.
- classmethod from_domain(reference: Reference) Self[source]#
Create the ES ReferenceDeduplicationMixin.
- classmethod from_projection(projection: CandidateCanonicalSearchFields) Self[source]#
Create a ReferenceCandidateCanonicalMixin from the search projection.
- class app.domain.references.models.es.ReferenceDocument(meta: Dict[str, Any] | None = None, **kwargs: Any)[source]#
Bases:
GenericESPersistence[Reference],ReferenceDomainMixin,ReferenceCandidateCanonicalMixinPersistence model for references in Elasticsearch.
- class app.domain.references.models.es.ReferenceDomainMixin(meta: Dict[str, Any] | None = None, **kwargs: Any)[source]#
Bases:
InnerDocMapping of Reference domain model to Elasticsearch document.
- duplicate_determination: DuplicateDetermination | None = InstrumentedField[duplicate_determination][source]#
- enhancements: list[EnhancementDocument] = InstrumentedField[enhancements][source]#
- classmethod from_domain(reference: Reference) Self[source]#
Create a ReferenceDomainMixin from a Reference domain model.
- identifiers: list[ExternalIdentifierDocument] = InstrumentedField[identifiers][source]#
- visibility: Visibility = InstrumentedField[visibility][source]#
- class app.domain.references.models.es.RobotAutomationPercolationDocument(meta: Dict[str, Any] | None = None, **kwargs: Any)[source]#
Bases:
GenericESPersistence[RobotAutomation]Persistence model for robot automation percolation in Elasticsearch.
This model serves two purposes in order to fully define the index: a persistence layer for queries that dictate robot automation, and a percolator layer to convert domain models to queryable documents that run against said queries.
- changeset: ReferenceDomainMixin | None = InstrumentedField[changeset][source]#
- classmethod from_domain(domain_obj: RobotAutomation) Self[source]#
Create a percolator query from a domain model.
- classmethod percolatable_document_from_domain(percolatable: ReferenceWithChangeset) Self[source]#
Create a percolatable document from a domain model.
- Parameters:
percolatable (ReferenceWithChangeset) – The percolatable document to convert.
- Returns:
The persistence model.
- Return type:
- reference: ReferenceDomainMixin | None = InstrumentedField[reference][source]#
- to_domain() RobotAutomation[source]#
Create a domain model from this persistence model.