2012-09-10 11 views

Odpowiedz

14

Można dodać pole „timestamp” do schematu SOLR które stawia aktualną datę/czas do rekordu, gdy jest on dodawany.

<field name="timestamp" type="date" indexed="true" stored="true" default="NOW" multiValued="false"/> 

Następnie wykonuje sortowanie w porządku malejącym według tej dziedzinie, a pierwsza płyta będzie ostatni z nich. Zapytanie jak to powinno zrobić: -

http://localhost:8080/solr/core-name/select/q=*%3A*&start=0&rows=1&sort=timestamp+desc

+0

Czy nie ma innej drogi ...? ponieważ muszę dodać pole w indeksowaniu Solr, a następnie ... dzięki za odpowiedź ... –

+0

Wierzę, że jest to najbardziej niezawodny sposób, aby to zrobić, ponieważ pole znacznika czasu zostanie dodane przez Solr i jest gwarantowane, że będzie dokładne. Możesz iść z odpowiedzią @ parvin, ale to by zakładało, że twoje pole docid jest sekwencyjne i może być posortowane. –

8

można sortować dokumenty według kolejności indeksowane przy użyciu następującego zapytania.

http://localhost:8983/solr/select?q=*:*&sort=_docid_ asc 

or 

http://localhost:8983/solr/select?q=*:*&sort=_docid_ desc 
+1

Dzięki, tego właśnie potrzebowałem. – Oyeme

+0

Czy można bezpiecznie liczyć na stwardnienie krzyżowe? zobacz http://osdir.com/ml/solr-user.lucene.apache.org/2011-12/msg01178.html –

+0

nie używaj _docid_, ponieważ zmienia się, zobacz tę odpowiedź, aby zrozumieć http: //lucene.472066.n3. nabble.com/Get-DocID-after-Document-insert-td556278.html – aName

Powiązane problemy