Elasticsearch для повторных данных на разных сайтах - PullRequest
0 голосов
/ 27 октября 2018

У меня есть основная база данных с видео и несколькими сайтами. Каждый сайт имеет 40-60% случайных видео из основной базы данных. Я хочу использовать только один экземпляр эластичного поиска с индексом видео из основной базы данных, но выполнять поиск только по видео на указанных веб-сайтах (40-60%). Как я могу реализовать эту функцию? Или я должен создать отдельный индекс для каждого сайта?

1 Ответ

0 голосов
/ 28 октября 2018

Есть много способов, на мой взгляд.Elasticsearch здесь очень гибок.

  1. Индексируйте видео в отдельных индексах.Это будет легко при поиске, но вам нужно направить видео в правильный индекс и иметь дублирующиеся данные.
  2. Индексируйте видео в одном индексе и определите свойство дискриминатора, например targetWebsite.При поиске отфильтруйте это свойство.
  3. Объединение 1 + 2: используйте псевдоним индекса для каждого веб-сайта, где вы также определяете фильтр .Удобный поиск, легкая индексация, отсутствие дублирующихся данных.
  4. Индексируйте видео, относящиеся к конкретному сайту, в индексы сайта.Общие видео, доступные на каждом сайте в отдельный индекс.Для каждого веб-сайта определите псевдоним и назначьте для него специальный индекс и общий индекс.Затем вы будете выполнять поиск по обоим индексам одновременно.

Кстати: всегда используйте псевдонимы.Они очень удобны, особенно когда вам нужно поддерживать свои показатели без простоев.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...