|
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