mirror of
https://github.com/advplyr/audiobookshelf.git
synced 2026-05-30 23:40:40 +02:00
[Bug]: Search return wrong result and is extremly slow #1802
Closed
opened 2026-04-24 23:58:35 +02:00 by adam
·
5 comments
No Branch/Tag Specified
master
book_tags_genres_dedupe
episode_download_fallback
Issue-4540-SortBy-StartedDate-and-FinishedDate
episode_meta_tagging
fix_authorize_race_condition
redirect_transcode_requests
progress_updated_sort
fix_ereader_socket_event
fix_change_empty_root_password
fix_podcast_session_track_index
fix_set_token
session_modal_user
localize_durations
fix_oidc_create_user
jwt_auth_refactor
fix_scanner_deleting_single_file_books
fix_mediaprogress_updatedat_2
experimental_next_client
podcast_episode_duration
episode-timestamps-clickable
book_author_secondary_sort_title
podcast_useragents
pathexists_user_access
fix_pathexists_join
book_author_secondary_sort
clean_duplicate_mediaprogress
sanitize_html_description
trix_prevent_attachments
check_path_api_fix
fix_mediaprogress_updatedat
increase_express_json_limit
fix_dockerfile_nunicode
search_episodes
audiobook_tools_update
episode_secondary_sorts
hls_stream_url_update
new_session_track_endpoint
audiobook_tools_enhancements
watcher_rescans_update
player_track_tooltip
fix_exclude_prefixes_crash
socket_item_events
fix_podcast_episode_scanner_promise
new_stats_controller
count_cache_for_userpermissions
parsing-opf-v3
validate_migration_files
fix-quick-match-all-crash
fix-chapter-end-sleep-timer
stringify_sequelize_query
remove-col-ambiguity
fix_next_prev_edit_description
details_trim_whitespace
fix_content_url_basepath
fix_logger_fatal
progress_bar_visibility
batch-edit-populate-map-details
feed_generator_updates
bookmark-modal-updates
migrate-library-item-in-scanner
migrate-new-library-items
migrate-podcasts-new-library-item-2
migrate-podcasts-new-library-item
fix-remove-episode-from-playlist
playback-session-use-new-library-item
refactor-library-item
fix-heatmap-caption
feed-episodes-upsert
share-media-player-media-session-api
remove-old-playlist
remove_old_collection_object
plugin-implementation-demo
feed_migration
refactor-feeds-from-item
fix_remove_authors_no_books
v2.17.3-fk-constraints-migration
migrations-first-upgrade
sqlite_2
feature/nuxt-target-server
waveform
sqlite
playlists
video
v2.35.1
v2.35.0
v2.34.0
v2.33.2
v2.33.1
v2.33.0
v2.32.1
v2.32.0
v2.31.0
v2.30.0
v2.29.0
v2.28.0
v2.27.0
v2.26.3
v2.26.2
v2.26.1
v2.26.0
v2.25.1
v2.25.0
v2.24.0
v2.23.0
v2.22.0
v2.21.0
v2.20.0
v2.19.5
v2.19.4
v2.19.3
v2.19.2
v2.19.1
v2.19.0
v2.18.1
v2.18.0
v2.17.7
v2.17.6
v2.17.5
v2.17.4
v2.17.3
v2.17.2
v2.17.1
v2.17.0
v2.16.2
v2.16.1
v2.16.0
v2.15.1
v2.15.0
v2.14.0
v2.13.4
v2.13.3
v2.13.2
v2.13.1
v2.13.0
v2.12.3
v2.12.2
v2.12.1
v2.12.0
v2.11.0
v2.10.1
v2.10.0
v2.9.0
v2.8.1
v2.8.0
v2.7.2
v2.7.1
v2.7.0
v2.6.0
v2.5.0
v2.4.4
v2.4.3
v2.4.2
v2.4.1
v2.4.0
v2.3.5
v2.3.4
v2.3.3
v2.3.2
v2.3.1
v2.3.0
v2.2.23
v2.2.22
v2.2.21
v2.2.20
v2.2.19
v2.2.18
v2.2.17
v2.2.16
v2.2.15
v2.2.14
v2.2.13
v2.2.12
v2.2.11
v2.2.10
v2.2.9
v2.2.8
v2.2.7
v2.2.6
v2.2.5
v2.2.4
v2.2.3
v2.2.2
v2.2.1
v2.2.0
v2.1.5
v2.1.4
v2.1.3
v2.1.2
v2.1.1
v2.1.0
v2.0.24
v2.0.23
v2.0.22
v2.0.21
v2.0.20
v2.0.19
v2.0.18
v2.0.17
v2.0.16
v2.0.15
v2.0.14
v2.0.13
v2.0.12
v2.0.11
v2.0.10
v2.0.9
v2.0.8
v2.0.7
v2.0.6
v2.0.5
v2.0.4
v2.0.3
v2.0.2
v2.0.1
v1.7.2
v1.7.1
v1.7.0
v1.6.0
v1.5.5
v1.5.0
v1.4.11
v1.4.9
v1.4.7
v1.4.6
v1.4.4
v1.4.2
v1.4.0
v1.4.1
v1.3.4
v1.3.3
v1.3.1
v1.2.8
v1.2.6
v1.2.5
v1.2.4
v1.2.1
v1.1.15
v1.1.14
v1.1.13
v1.1.12
v1.1.11
v1.1.10
v1.1.9
v1.1.8
v1.0.0
0.9.61-beta.0
0.9.61-beta
Labels
Clear labels
authentication
backlog
bug
chapter editor
config-issue
ebooks
encoding/embedding
enhancement
help wanted
listening sessions & progress
planned
possible plugin
progress sync
pull-request
sorting/filtering/searching
unable to reproduce
upload
users & permissions
waiting
Mirrored from GitHub Pull Request
No Label
bug
Milestone
No items
No Milestone
Projects
Clear projects
No project
Assignees
adam (Adam Melkus)
Clear assignees
No Assignees
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: starred/audiobookshelf#1802
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @Gru0810 on GitHub (Mar 7, 2024).
Describe the issue
When I let run a "search" for "Kommissar" the ABS-WebGui and the App shows me a wrong result and has a extremly long response-time . More then 2 min is normal for the app , 4 minutes was the longest time
Additional I see and hear a lot of HDD-Reading on my NAS
<Devide / System>
SearchString = "Kommissar" Test 1 : Notebook in house internal IP-addr using LAN = 57 sec Test 2 : Notebook in house internal IP-addr using LAN = 58 sec Books = 3 Series = 3  ** Smartphone Android 12, App version 0.9.73-beta** SearchString = "Kommissar" Test 1 : Smartphone in house external IP-addr using WLAN = 2 min 44 sec Test 2 : Smartphone in house external IP-Addr using WLAN = 1 min 55 sec from Test 3 : Smartphone in house internal IP-Addr using WLAN = 1 min 32 sec from Test 4 : Smartphone ext house external IP-Addr using modile-data = **4 min 5 sec** Test 5 : Tablet Xiaomi in house internal IP-addr using WLAN = 1 min 33 sec Test 6 : Tablet Xiaomi in house external IP-addr using WLAN = 1 min 23 sec !!! Books =5 Series = 5 Notebook with Google Chrome in house using LAN ABS-WebGui
<Devide / System>
SearchString = "Kommissar" Test 1 "Books" : Notebook in house internal IP-addr using LAN = 2 sec !! Test 2 "Series" : Notebook in house internal IP-addr using LAN = 1 sec !! Books = 54 (SQL = Select ID, Title, CoverPath FROM Books WHERE Title like '%Kommissar%') Notebook with MS Access and ODBC-connection to SQlite-Database using LAN

I saved the Result as txt and got 18 MB big file! Duration >1 min possible solution:
Add a flag "fast search" -> flagged (default) -> search by using SQL like above( and also in authors) -> extremely fast
"Fast search" unflagged -> deep search also in tracks etc. -> slow
I have 2200 Books , 600 Authors, 300 Series
Steps to reproduce the issue
Audiobookshelf version
2.8.0
How are you running audiobookshelf?
Docker
@mikiher commented on GitHub (Mar 12, 2024):
Hi,
On which system is your docker running?
Is Audiobookshelf's config directory local (running on docker's local file system) or remote?
@Gru0810 commented on GitHub (Mar 13, 2024):
ABS runs by Docker on a Synology NAS DS216+, 1 GB RAM

normal use give me this: CPU 3% RAM ~57% ofer the whole NAS. when I search for "Kommissar" with in WebGUI connected over LAN with the NAS I got this : CPU 47% RAM 58% in all , CPU 0.4%!! , 151 MB by ABS:
But as I wrote above during the whole time where the line is flat I see and hear a lot of hard disk reading.
I'm not familiar with JAVA but very much with VBA. But I want to try to dive into ABS code. Can you tell me where I can find the code for "Searching"? Does it always use the API? If yes where I can find the code about the API behind "GET https://abs.example.com/api/libraries//search?
@nichwall commented on GitHub (Mar 13, 2024):
You're probably running into issues with ABS needing to convert everything back to the old API version for the clients (the database model was updated in 2.3.x but a new API version still hasn't been written) because you have a larger library. This requires more CPU to do the conversion in memory after loading the response from the database.
https://github.com/advplyr/audiobookshelf/blob/master/server%2Fcontrollers%2FLibraryController.js which calls https://github.com/advplyr/audiobookshelf/blob/master/server%2Futils%2Fqueries%2FlibraryItemFilters.js#L177 which calls https://github.com/advplyr/audiobookshelf/blob/master/server%2Futils%2Fqueries%2FlibraryItemsBookFilters.js#L954
With ~500 books in my library, searches are all taking less than a few seconds including travel time for the connection from a mobile connection away from home. The database and all books are on a local HDD.
@Gru0810 commented on GitHub (Mar 14, 2024):
So what is the best solution for me?
I bought my NAS in 2016! So it pretty old and I planed to buy a new NAS Synology DS224+ with more RAM and import all my 2250 audiobooks in blocks of 50 one again into the new NAS.
Would this solve my performance problem?
But how can I transfer all Author-Info incl picture and all progress and finishedAt info?
I currently have 2250 Audiobook with 205'000 mp3 files
Other question : would it increase performante to convert all mp3 into m4b?
@Gru0810 commented on GitHub (Apr 11, 2024):
Performance-problem was solved by buying a new NAS ( Synology DS224+), install MediaServer 2.8.1 and re-create all opf-files, copy and scan all 2500 audiobook in blocks of 100 audiobooks ( duration ~5-8 min !!!)