【发布时间】:2014-04-06 06:26:38
【问题描述】:
我已经阅读了许多论坛并遵循了一些建议,但我无法让它发挥作用。我以相反的顺序得到结果,即尽管由非多值日期字段提升,但最旧的第一个。
架构中指定的字段
<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 我都试过了。很奇怪。为什么我仍然最后看到最新修改的文档,最先看到最旧的文档?我做错了什么?任何帮助表示赞赏!
【问题讨论】:
-
如何查看索引的内容?当我使用solr查询时,每个文档中存储的日期是不同的。
标签: java search solr lucene solr-boost