From 962650175e8745228fb7747062c09b658f94534b Mon Sep 17 00:00:00 2001 From: Kurbanov Bulat Date: Fri, 10 Dec 2021 15:40:07 +0300 Subject: [PATCH] Add search limits --- fastapi_book_server/app/services/author.py | 5 +++-- fastapi_book_server/app/services/book.py | 7 ++++--- fastapi_book_server/app/services/sequence.py | 7 ++++--- 3 files changed, 11 insertions(+), 8 deletions(-) diff --git a/fastapi_book_server/app/services/author.py b/fastapi_book_server/app/services/author.py index ee1595c..70a1e00 100644 --- a/fastapi_book_server/app/services/author.py +++ b/fastapi_book_server/app/services/author.py @@ -3,7 +3,7 @@ from app.models import Author from app.services.common import TRGMSearchService -GET_OBJECTS_IDS_QUERY = """ +GET_OBJECT_IDS_QUERY = """ SELECT ARRAY( WITH filtered_authors AS ( SELECT @@ -32,6 +32,7 @@ SELECT ARRAY( ) SELECT fauthors.id FROM filtered_authors as fauthors ORDER BY fauthors.sml DESC, fauthors.books_count DESC + LIMIT 210 ); """ @@ -39,4 +40,4 @@ SELECT ARRAY( class AuthorTGRMSearchService(TRGMSearchService): MODEL_CLASS = Author PREFETCH_RELATED = ["source", "annotations"] - GET_OBJECT_IDS_QUERY = GET_OBJECTS_IDS_QUERY + GET_OBJECT_IDS_QUERY = GET_OBJECT_IDS_QUERY diff --git a/fastapi_book_server/app/services/book.py b/fastapi_book_server/app/services/book.py index c0b1a27..1100976 100644 --- a/fastapi_book_server/app/services/book.py +++ b/fastapi_book_server/app/services/book.py @@ -8,14 +8,15 @@ from app.services.common import TRGMSearchService from app.serializers.book import CreateBook, CreateRemoteBook -GET_OBJECTS_IDS_QUERY = """ +GET_OBJECT_IDS_QUERY = """ SELECT ARRAY( WITH filtered_books AS ( SELECT id, similarity(title, :query) as sml FROM books WHERE books.title % :query ) SELECT fbooks.id FROM filtered_books as fbooks - ORDER BY fbooks.sml DESC, fbooks.id + ORDER BY fbooks.sml DESC, fbooks.id + LIMIT 210 ); """ @@ -23,7 +24,7 @@ SELECT ARRAY( class BookTGRMSearchService(TRGMSearchService): MODEL_CLASS = BookDB PREFETCH_RELATED = ["source", "authors", "annotations"] - GET_OBJECT_IDS_QUERY = GET_OBJECTS_IDS_QUERY + GET_OBJECT_IDS_QUERY = GET_OBJECT_IDS_QUERY class BookCreator: diff --git a/fastapi_book_server/app/services/sequence.py b/fastapi_book_server/app/services/sequence.py index 70b160a..8afb8b0 100644 --- a/fastapi_book_server/app/services/sequence.py +++ b/fastapi_book_server/app/services/sequence.py @@ -3,8 +3,8 @@ from app.models import Sequence from app.services.common import TRGMSearchService -GET_OBJECTS_IDS_QUERY = """ -EXPLAIN ANALYZE SELECT ARRAY ( +GET_OBJECT_IDS_QUERY = """ +SELECT ARRAY ( WITH filtered_sequences AS ( SELECT id, @@ -24,6 +24,7 @@ EXPLAIN ANALYZE SELECT ARRAY ( ) SELECT fsequences.id FROM filtered_sequences as fsequences ORDER BY fsequences.sml DESC, fsequences.books_count DESC + LIMIT 210 ); """ @@ -31,4 +32,4 @@ EXPLAIN ANALYZE SELECT ARRAY ( class SequenceTGRMSearchService(TRGMSearchService): MODEL_CLASS = Sequence PREFETCH_RELATED = ["source"] - GET_OBJECTS_IDS_QUERY = GET_OBJECTS_IDS_QUERY + GET_OBJECT_IDS_QUERY = GET_OBJECT_IDS_QUERY