./templates/index.pt:15: <th tal:condition="exists:data/scores"><u title="Occurrence of search term weighted by field (name, summary, keywords, description, author, maintainer)">Weight*</u></th>
jobskills = {'java': 10, 'python': 20, 'jquery': 5}
candidateskills = ['python', 'java','angular']
foundskills={k:jobskills[k] for k in candidateskills if k in jobskills}
print sum(foundskills.values())
有趣的问题!我克隆了pypi repository并搜索“weight”,这给了我这一行:
然后基于此,我搜索“scores”,这将我引向^{} 函数。在该函数中,它定义了赋予不同列的权重:
^{pr2}$因此,如果你的搜索词出现在包的名称中,它会得到4分,如果它出现在摘要中,它会得到2分,依此类推。它计算每个术语的这个值,然后将它们相加。在
在您的示例中,对于“XML parse”,最上面的包是Products.ParsedXML。分数的计算方法如下:
而18的确是搜索结果页面上的分数。在
所以,为了得到最好的分数,你需要让每个字段都匹配所需的搜索词(AKA“keyword stuffing”)。如果你想发布一个软件包,我不建议你试着去玩这个系统。计分的算法很简单,因为它依赖于人们的诚实。如果每个人都试图在这些字段中添加额外的关键字以获得更高的分数,那将是一场混乱,最终会导致更糟糕的搜索结果。在
相关问题 更多 >
编程相关推荐