Skip to content

Commit e7535bf

Browse files
committed
factories: add "search_alias" for index field
* Allow passing a `search_alias` for the record class index, or default to the record class' plural name.
1 parent 96ff9ea commit e7535bf

File tree

1 file changed

+4
-1
lines changed

1 file changed

+4
-1
lines changed

invenio_records_resources/factories/factory.py

+4-1
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
# details.
1010

1111
"""Record type factory."""
12+
1213
from invenio_db import db
1314
from invenio_pidstore.providers.recordid_v2 import RecordIdProviderV2
1415
from invenio_records.dumpers import SearchDumper
@@ -51,6 +52,7 @@ def __init__(
5152
record_relations=None,
5253
schema_path=None,
5354
index_name=None,
55+
search_alias=None,
5456
search_options=None,
5557
service_components=None,
5658
permission_policy_cls=None,
@@ -81,6 +83,7 @@ def __init__(
8183
self.record_relations = record_relations
8284
self.schema_path = self._build_schema_path(schema_path)
8385
self.index_name = self._build_index_name(index_name)
86+
self.search_alias = search_alias or self.name_plural
8487
self.model_cls_attrs = model_cls_attrs or {}
8588
self.record_cls_attrs = record_cls_attrs or {}
8689
self.resource_cls_attrs = resource_cls_attrs or {}
@@ -152,7 +155,7 @@ def create_record_class(self):
152155
record_class_attributes = {
153156
"model_cls": self.model_cls,
154157
"schema": ConstantField("$schema", self.schema_path),
155-
"index": IndexField(self.index_name),
158+
"index": IndexField(self.index_name, search_alias=self.search_alias),
156159
"pid": pid_field,
157160
"dumper": self.record_dumper or SearchDumper(),
158161
}

0 commit comments

Comments
 (0)