我在 SOLR 7.5 中收到错误 "rord() is not supported over Points based field"。如何解决?

I am getting error "rord() is not supported over Points based field" in SOLR 7.5. How to fix it?

为了在 SOLR 7 中提升性能,我使用函数

recip(rord({dateField}),1,1000,1000)

但是在 SOLR 中出现

的错误

rord() is not supported over Points based field

如何在 SOLR 7 中解决这个问题。但是它在 SOLR 6.5 中工作正常,因为 schema.xml dateField 是 TriDateClass 的实例。

使用ms 获取日期字段的毫秒值,而不是它在索引中的反向排序位置。它适用于基于点和基于 Trie 的字段。

ms Function

Returns milliseconds of difference between its arguments. Dates are relative to the Unix or POSIX time epoch, midnight, January 1, 1970 UTC.

例如recip(ms(NOW, last_modified), 3.16e-11, 1, 1)。您还可以将 NOW 更改为每天更改的静态日期,以获得更好的查询可缓存性。-