Oracle Text使用IDF评分的变体。 没有记录确切的算法。
在情景中,分数似乎与我手动计算IDF时获得的分数不同
我想了解oracle如何计算得分,并可能对其进行修改。
是否有修改评分算法的方法?
看来表DR $ indexname $ I在TOKEN_COUNT字段中包含术语频率 - 我们这是正确的吗?
是否记录了DR $表的结构?
答案 0 :(得分:1)
您可以使用查询模板修改评分算法,例如:
select id from docs where CONTAINS (text,
'<query>
<textquery grammar="CONTEXT" lang="english"> mustang </textquery>
<score datatype="float" algorithm="DEFAULT" normalization_expr =Ódoc_score+SDATA(price)Ó/>
</query>')>0"