0

我已经阅读了许多论坛并遵循了一些建议,但我无法让它发挥作用。我以相反的顺序得到结果,即尽管由非多值日期字段提升,但最旧的第一个。

架构中指定的字段

<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;

实际上,我同时尝试ascdesc。很奇怪。为什么我仍然最后看到最新修改的文​​档,最先看到最旧的文档?我做错了什么?任何帮助表示赞赏!

4

1 回答 1

0

这不太可能为您提供 last_modified 的排序顺序

q=1234;last_modified 升序;

也许你的意思是

q=1234&sort=last_modified desc
于 2014-03-04T17:09:20.100 回答