Mam 2 serwery z stogu siana:siana i Elasticsearch: Ogranicz liczbę wyników
- Server1: Ma elasticsearch zainstalowany
- Serwer2: To nie są elasticsearch, zapytania są wykonywane do Serwer1
Mój problem jest o paginacji kiedy robię zapytań od S erver2 do Server1:
- Serwer2 sprawia zapytanie do Serwer1
- Server1 wysłać wszystkie wyniki z powrotem do Serwer2
- Serwer2 sprawia paginacji
Ale to nie jest optymalne, jeśli zapytanie zwróci 10.000 obiektów, zapytanie będzie wolne.
wiem, że można wysłać do elasticsearch pewne wartości w zapytaniu (wielkości, od i do), ale nie wiem, czy jest to możliwe przy użyciu Stóg, Sprawdziłem dokumentację i googled to i nic nie znalazłem.
- Jak mogę skonfigurować zapytanie w stogu siana aby otrzymać wyniki 10 od 10?
Edit
- Czy to możliwe, że jeśli zrobię
SearchQuerySet()[10000:10010]
poprosi tylko dla tych 10 pozycji? - Czy poprosi o wszystkie elementy, a następnie je odfiltruje?
Edit2
Znalazłem to na Haystack Docs:
wydaje funkcję zrobić whatt Próbuję zrobić:
Restricts the query by altering either the start, end or both offsets.
A potem próbowałem zrobić:
from haystack.query import SearchQuerySet
sqs = SearchQuerySet()
sqs.query.set_limits(low=0, high=4)
sqs.filter(content='anything')
Wynikiem jest pełna lista, podobnie jak nigdy nie dodaję linię set_limit
- Dlaczego nie działa?
Muszę to wypróbować, walczyłem z kodem dużo wtedy i nie znalazłem informacji, aby to osiągnąć. Dzięki !! – AlvaroAV
Otrzymuję ten błąd - obiekt 'AttributeError: 'Obiekt SearchQuerySet nie ma atrybutu' get_results'' – garg10may
Ostatni wiersz powinien mieć postać' len (sqs.query.get_results()) ' – garg10may