我尝试通过提高索引时间来提高文档分数。
我将以下json发布到solr服务器:
{
"add": {
"boost":150,
"doc": {
"id":"doc12345",
"fieldToCheckUpdateExecuted":"some value"
}
},
"commit":{}
}
但是当我查询doc12345
的solr时,我得到score=1
{
"responseHeader":{
"status":0,
"QTime":1,
"params":{
"q":"id:doc12345",
"indent":"true",
"fl":"id, score, fieldToCheckUpdateExecuted",
"sort":"score asc",
"wt":"json"}},
"response":{"numFound":1,"start":0,"maxScore":1.0,"docs":[
{
"id":"doc12345",
"fieldToCheckUpdateExecuted":"some value",
"score":1.0}]
}}
我做错了什么?
答案 0 :(得分:1)
从schema.xml版本1.5开始,默认情况下启用omitNorms
本机类型(字符串,整数,浮点数,布尔值等)。对于字段的索引时间提升,需要使用规范,因此如果启用omitNorms
,则索引时间提升将不适用于该字段(并且文档提升与应用于所有字段的提升相同)。
为id字段设置omitNorms=false
并重新编制索引应显示另一个分数。
当前recommended way of doing boosts将使用FunctionQuery并将其基于文档中字段的值以进行提升({!boost b=field}
)。