我们在 schema.xml 中有以下设置:
<field name="last_modified" type="date" indexed="true" stored="true" multiValued="false" omitTermFreqAndPositions="true"/>
...
<field name="prefix" type="string" indexed="true" stored="true" omitTermFreqAndPositions="true"/>
我们的目标是对文档进行排序
- 前缀=9999,最新文档(最后修改)在前
- 前缀=1004 或前缀=1005,最新文档(最后修改)在前
我们的代码:
{!boost b=recip(ms(NOW,last_modified),3.16e11,1,1)}prefix:9999^1000000 OR {!boost b=recip(ms(NOW,last_modified),3.16e-11,1,1)}prefix:1004^600000 OR {!boost b=recip(ms(NOW,last_modified),3.16e-11,1,1)}prefix:1005^600000
结果:上面的查询没有按预期工作!
我们认为 omitTermFreqAndPositions=true 将强制阻止 ITF,并且评分应该有效。但似乎并非如此!请帮助我们:-)