mirror of
https://github.com/flibusta-apps/book_library_server.git
synced 2025-12-06 15:15:36 +01:00
Optimize search
This commit is contained in:
@@ -15,8 +15,8 @@ SELECT ARRAY(
|
||||
) as sml,
|
||||
(
|
||||
SELECT count(*) FROM book_authors
|
||||
LEFT JOIN books ON books.id = book
|
||||
WHERE author = authors.id AND books.is_deleted = 'f'
|
||||
LEFT JOIN books ON (books.id = book AND books.is_deleted = 'f')
|
||||
WHERE author = authors.id
|
||||
) as books_count
|
||||
FROM authors
|
||||
WHERE (
|
||||
@@ -26,8 +26,8 @@ SELECT ARRAY(
|
||||
) AND
|
||||
EXISTS (
|
||||
SELECT * FROM book_authors
|
||||
LEFT JOIN books ON books.id = book
|
||||
WHERE author = authors.id AND books.is_deleted = 'f'
|
||||
LEFT JOIN books ON (books.id = book AND books.is_deleted = 'f')
|
||||
WHERE author = authors.id
|
||||
)
|
||||
)
|
||||
SELECT fauthors.id FROM filtered_authors as fauthors
|
||||
|
||||
@@ -12,7 +12,7 @@ GET_OBJECT_IDS_QUERY = """
|
||||
SELECT ARRAY(
|
||||
WITH filtered_books AS (
|
||||
SELECT id, similarity(title, :query) as sml FROM books
|
||||
WHERE books.title % :query
|
||||
WHERE books.title % :query AND books.is_deleted = 'f'
|
||||
)
|
||||
SELECT fbooks.id FROM filtered_books as fbooks
|
||||
ORDER BY fbooks.sml DESC, fbooks.id
|
||||
|
||||
@@ -11,15 +11,15 @@ SELECT ARRAY (
|
||||
similarity(name, :query) as sml,
|
||||
(
|
||||
SELECT count(*) FROM book_sequences
|
||||
LEFT JOIN books ON books.id = book
|
||||
WHERE sequence = sequences.id AND books.is_deleted = 'f'
|
||||
LEFT JOIN books ON (books.id = book AND books.is_deleted = 'f')
|
||||
WHERE sequence = sequences.id
|
||||
) as books_count
|
||||
FROM sequences
|
||||
WHERE name % :query AND
|
||||
EXISTS (
|
||||
SELECT * FROM book_sequences
|
||||
LEFT JOIN books ON books.id = book
|
||||
WHERE sequence = sequences.id AND books.is_deleted = 'f'
|
||||
LEFT JOIN books ON (books.id = book AND books.is_deleted = 'f')
|
||||
WHERE sequence = sequences.id
|
||||
)
|
||||
)
|
||||
SELECT fsequences.id FROM filtered_sequences as fsequences
|
||||
|
||||
Reference in New Issue
Block a user