Я строю многоязычный проект Wagtail с несколькими языками и хотел бы знать, как определить несколько индексов ElasticSearch (по одному на язык), чтобы добавить локализованные поля в соответствующий индекс.
Мои модели построены с дублированными полями, по одному полю на язык (см. Пример ниже).
Пример того, чего я хотел бы достичь:
class SearchablePage(Page):
body_fr = models.TextField()
body_en = models.TextField()
search_fr_fields = [
index.SearchField('body_fr', partial_match=True, boost=10),
]
search_en_fields = [
index.SearchField('body_en', partial_match=True, boost=10),
]
К вашему сведениюЯ придерживаюсь этой рекомендации: Лучшая практика / опыт многоязычного индексирования эластичного поиска Но я открыт для любых советов по работе с единым индексом для многоязычного веб-сайта.
Хотя у меня будет один интерфейс для каждого языка, ине будет смешивать языки в результатах поиска.
Обновление:
Эта функция получает доступные для поиска поля в модели, поэтому кажется, что ее невозможно выполнить, как: https://github.com/wagtail/wagtail/blob/3d4055e465a59114309d23ca1ce069900af9398d/wagtail/search/index.py#L48 В любом случае, я разрешила открыть этот вопрос, возможно, будет найдено решение,