我试图弄清楚如何设计我的SOLR索引架构以对学生的技能和水平(入门级,中级,专家级)进行索引,并能够搜索多种技能(不指示级别)并使SOLR返回相应排名的学生(基于级别)。
示例:
John Doe具有以下技能:
- 红宝石:专家
- javascript:初学者
马克·史密斯(Mark Smith)具有以下技能:
- 红宝石:初学者
- javascript:中级
苏珊·丹佛(Susan Denver)具有以下技能:
- 红宝石:中级
- javascript:中级
搜索“红宝石”应返回
搜索“ javascript”应返回
搜索多种技能甚至变得更加棘手。
我想到的解决方案包括使用诸如[skill] _ [level]之类的结构标记,并使索引的一个字段包含这些标记。然后将查询关键字转换为所有各种标签...
其他选择是在每个“技能”的动态字段上创建:skill_ruby,skill_javascript并具有级别作为值。
但是我敢肯定,必须肯定有一个更直接的解决方案,如果这确实是在其他场景(产品等级等)中进行了建模
什么是正确的索引架构来索引这种类型的数据?