|
9 | 9 | # details.
|
10 | 10 |
|
11 | 11 | """Record type factory."""
|
| 12 | + |
12 | 13 | from invenio_db import db
|
13 | 14 | from invenio_pidstore.providers.recordid_v2 import RecordIdProviderV2
|
14 | 15 | from invenio_records.dumpers import SearchDumper
|
@@ -51,6 +52,7 @@ def __init__(
|
51 | 52 | record_relations=None,
|
52 | 53 | schema_path=None,
|
53 | 54 | index_name=None,
|
| 55 | + search_alias=None, |
54 | 56 | search_options=None,
|
55 | 57 | service_components=None,
|
56 | 58 | permission_policy_cls=None,
|
@@ -81,6 +83,7 @@ def __init__(
|
81 | 83 | self.record_relations = record_relations
|
82 | 84 | self.schema_path = self._build_schema_path(schema_path)
|
83 | 85 | self.index_name = self._build_index_name(index_name)
|
| 86 | + self.search_alias = search_alias or self.name_plural |
84 | 87 | self.model_cls_attrs = model_cls_attrs or {}
|
85 | 88 | self.record_cls_attrs = record_cls_attrs or {}
|
86 | 89 | self.resource_cls_attrs = resource_cls_attrs or {}
|
@@ -152,7 +155,7 @@ def create_record_class(self):
|
152 | 155 | record_class_attributes = {
|
153 | 156 | "model_cls": self.model_cls,
|
154 | 157 | "schema": ConstantField("$schema", self.schema_path),
|
155 |
| - "index": IndexField(self.index_name), |
| 158 | + "index": IndexField(self.index_name, search_alias=self.search_alias), |
156 | 159 | "pid": pid_field,
|
157 | 160 | "dumper": self.record_dumper or SearchDumper(),
|
158 | 161 | }
|
|
0 commit comments