Sortowanie wyników wyszukiwania po dacie

2

Jak działa sortowanie względem daty i dlaczego tak? :-)

a.png

1

Popieram, to zillion razy było poruszane

1

@Azarien: a to nie chodzi przypadkiem o sortowanie po dacie od ostatniego posta?

4

Paginacja niezbyt dobrze działa

a poniżej odpowiedź Adama

Rzeczywiście, sortowanie następuje po dacie ostatniej aktywności w danym dokumencie. Dane indeksowane są w Elasticsearch. Każdy wpis na mikroblogu czy wątek to dokument. Dokument może posiadać inne dokumenty zagnieżdżone (children) którymi są np. komentarze do wpisu na mikroblogu czy posty w wątku. Spójrzmy zatem na zapytanie do ES:

Tutaj mamy sortowanie po dacie zagnieżdżonego dokumentu. I w tym momencie dochodzimy do sedna sprawy. Jeżeli dany dokument nie ma zagnieżdżonego dokumentu (np. wpis na mikroblogu nie posiada komentarzy), to Elasticsearch weźmie aktualną datę :( I tutaj również psuje nam się sortowanie.

Niby ES posiada opcję missing która decyduje co robić z takimi dokumentami (czy przesuwać je na koniec czy początek). ale to nie rozwiązuje nam problemu...

0

Tak, problem jest nadal aktualny. Więc jeżeli ktoś ma rozwiązanie to chętnie poczytamy :)

0

Dobrze, że zamiast tworzyć nowy wątek, to skorzystałem z szukarki ;-)
Też się dziś (ponownie?) zdziwiłem

screenshot-20221114130757.png

1

Może jakieś dodatkowe światło na sprawę rzuci fakt, że w obu podanych screenach, jak pierwsze pojawiają się wątki ("ile zarabiacie" oraz "ciekawe linki"), które są wątkami przyklejonymi w danych działach.

1 użytkowników online, w tym zalogowanych: 0, gości: 1