我已经阅读了很多论坛,并提出了一些建议,但我无法让它发挥作用。我以相反的顺序得到结果,即尽管由非多值日期字段提升,但是最早的结果。
架构
中指定的字段<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
的值不同,以防在提升字段方面发挥任何作用。
我已尝试过指定的所有查询here。例如,
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
。很奇怪。为什么我仍然会看到最新的最新修改过的文档和最早的文档?我做错了什么?任何帮助表示赞赏!
答案 0 :(得分:0)
不太可能这会给你last_modified的排序顺序
Q = 1234; last_modified asc;
也许你的意思是
q=1234&sort=last_modified desc