Несколько индексов ElasticSearch в трясогузке - PullRequest
0 голосов
/ 13 декабря 2018

Я строю многоязычный проект 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 В любом случае, я разрешила открыть этот вопрос, возможно, будет найдено решение,

...