如何为solr指数建模以对学生的技术技能进行排名?

时间:2019-01-12 08:06:14

标签: solr

我试图弄清楚如何设计我的SOLR索引架构以对学生的技能和水平(入门级,中级,专家级)进行索引,并能够搜索多种技能(不指示级别)并使SOLR返回相应排名的学生(基于级别)。

  

示例:

     

John Doe具有以下技能:

     
      
  • 红宝石:专家
  •   
  • javascript:初学者
  •   
     

马克·史密斯(Mark Smith)具有以下技能:

     
      
  • 红宝石:初学者
  •   
  • javascript:中级
  •   
     

苏珊·丹佛(Susan Denver)具有以下技能:

     
      
  • 红宝石:中级
  •   
  • javascript:中级
  •   

搜索“红宝石”应返回

  • 约翰
  • 苏珊
  • 标记

搜索“ javascript”应返回

  • 马克-苏珊(得分相同)
  • 约翰

搜索多种技能甚至变得更加棘手。

我想到的解决方案包括使用诸如[skill] _ [level]之类的结构标记,并使索引的一个字段包含这些标记。然后将查询关键字转换为所有各种标签...

其他选择是在每个“技能”的动态字段上创建:skill_ruby,skill_javascript并具有级别作为值。

但是我敢肯定,必须肯定有一个更直接的解决方案,如果这确实是在其他场景(产品等级等)中进行了建模

什么是正确的索引架构来索引这种类型的数据?

0 个答案:

没有答案