索引时间文件提升没有考虑在内

时间:2014-07-18 10:54:18

标签: solr

我尝试通过提高索引时间来提高文档分数。

我将以下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}]
  }}

我做错了什么?

1 个答案:

答案 0 :(得分:1)

从schema.xml版本1.5开始,默认情况下启用omitNorms本机类型(字符串,整数,浮点数,布尔值等)。对于字段的索引时间提升,需要使用规范,因此如果启用omitNorms,则索引时间提升将不适用于该字段(并且文档提升与应用于所有字段的提升相同)。

为id字段设置omitNorms=false并重新编制索引应显示另一个分数。

当前recommended way of doing boosts将使用FunctionQuery并将其基于文档中字段的值以进行提升({!boost b=field})。