如何在Solr中获取最后一个文档插入?

时间:2017-08-14 09:14:13

标签: solr solrj

我的问题是......

当我想在Solr中获取最后一个文档ID时,我得到 99999999 ,最后一次ID = 246458031

我试试这个 How to get last indexed record in Solr?

仅在最后一次ID <= 99999999

时有效

2.当我使用时间戳时,许多记录都有相同的日期[时间戳&#34;:&#34; 2017-08-14T08:51:21.185Z]

所以我需要从Solr获得Last Id

修改

我找到了解决方案[ q = *:*&amp; start = 0&amp; rows = 1&amp; sort = timestamp + desc,id + desc ] 我按时间排序&amp; ID和它的工作很好

2 个答案:

答案 0 :(得分:0)

我找到了解决方案

[q = &amp; start = 0&amp; rows = 1&amp; sort = timestamp + desc,id + desc] I按时间排序&amp; ID和它的工作很好

答案 1 :(得分:0)

您可以按_version_字段降序排列。 AFAIK,_version_字段是一个纪元时间戳(将文档索引到Solr的时间),以毫秒为单位乘以2^20

从Solr代码库中摘录的相关代码:

public long getNewClock() {
  synchronized (clockSync) {
    long time = System.currentTimeMillis();
    long result = time << 20;
    if (result <= vclock) {
      result = vclock + 1;
    }
    vclock = result;
    return vclock;
  }
}