I have records of books. That’s about 1500 subpages of the books page. On the customer server, the queries run for 3-4 seconds until a result comes back from the server.
Is there a better organistation solution if I want to keep the possibility to search all 1500 records or does Kirby reach a limit here if the server does not provide the disk performance?
If you can categorize books, that’s a first great step to get more performance and a better organisation in the panel. You could organise them by authors for example. E.g.
For larger data sets, it is really worth looking into an external search service. Something like a self-hosted elastic search instance or a service like Algolia. We use this for getkirby.com as well. You don’t just get better performance, you also get a much better search experience and powerful query options.
If you want to search through all books, the reorganisation wouldn’t make the search queries faster. But you would gain massive performance benefits when navigating through the panel to edit books.
That’s why I suggested an additional search service. You would then create a complete search index for all your books with that search service and the search would be super fast, no matter how many books you store.
Bastian in your basic content folder video you explain that blog entry directories could also be prefixed with e.g. 20241001_.
Is it easy to implement this so that the date is used as a prefix when saving an entry? In this case, I could already filter extensive data records using this directory prefix, e.g. only books from the year 2024. I could also dispense with manual sorting here and set it completely to date.
I agree with Bastian that using an external service to speed up the search is a very efficient way to increase search performance. Alternatively, as Carsten suggested, you could speed up the Kirby instance using one of my plugins.
Adding a wrapping cache around your front-end search results will speed up recurring searches.
Taken from one of my projects this is how I cache search results…
The benefit of adding a plugin like Boost is that every query in your front-end and within the panel, not just searches, will be quicker (3x-4x) as the content is loaded from RAM (in the case of APCu) instead of files.