Как смоделировать индекс solr для оценки технических навыков студентов? - PullRequest
0 голосов
/ 12 января 2019

Я пытаюсь выяснить, как спроектировать мою схему индекса SOLR, чтобы индексировать навыки и уровни учащихся (начальный, средний, эксперт) и иметь возможность искать несколько навыков (без указания уровня), и чтобы SOLR возвращал ученикам соответствующий рейтинг (в зависимости от уровня).

Пример:

Джон Доу обладает следующими навыками:

  • ruby: эксперт
  • JavaScript: новичок

Марк Смит обладает следующими навыками:

  • Рубин: начинающий
  • javascript: средний

Сьюзан Денвер обладает следующими навыками:

  • Рубин: средний
  • JavaScript: средний

Поиск "ruby" должен вернуть

  • John
  • Susan
  • Mark

Поиск «javascript» должен вернуть

  • Марк - Сьюзен (тот же счет)
  • John

Поиск комбинации навыков становится еще сложнее.

Решения, которые я имею в виду, включают использование тегов, подобных структурированным, как [skill] _ [level], и одно поле индекса содержит теги. Затем преобразуйте ключевое слово запроса во все различные теги ...

Другой вариант - создать динамическое поле для каждого «навыка»: skill_ruby, skill_javascript и иметь уровень в качестве значения.

Но я уверен, что должно быть более простое решение, если оно наверняка смоделировано в других сценариях (рейтинги продуктов и т. Д.)

Какая правильная схема индекса для индексации данных этого типа?

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