我已经阅读了许多论坛并遵循了一些建议,但我无法使其正常工作。我以相反的顺序得到结果,即尽管由非多值日期字段提升,但最旧的。
架构中指定的字段
<field name="last_modified" type="tdate" indexed="true" stored="true" multiValued="false"/>
和
<fieldType name="tdate" class="solr.TrieDateField" omitNorms="true" precisionStep="6" positionIncrementGap="0"/>
我已经尝试过有和没有omitNorms
,并且precisionStep
值各不相同,以防在提升领域方面发挥任何作用。
我已经尝试了此处指定的所有查询。例如
http://localhost:8983/solr/select?q={!boost b=$dateboost v=$qq}&dateboost=recip(ms(NOW,last_modified),3.16e-11,1,1)&qq=1234
此外,我已经尝试过
defType=dismax&bf=recip(rord(last_modified),1,1000,1000)^2.5&q=1234
我还进行了排序,只是简单的排序,丢弃任何相关性分数。
q=1234; last_modified asc;
实际上,我尝试asc
和desc
。很奇怪。为什么我仍然看到最后修改的最新文档,最旧的文档排在最前面?我做错了什么?任何帮助表示赞赏!
这不太可能给你排序顺序last_modified
q=1234; last_modified ASC;
也许你的意思是
q=1234&sort=last_modified desc