Summary: | Dolphin Search Does Not Properly Display Matching Results | ||
---|---|---|---|
Product: | [Applications] dolphin | Reporter: | Abystus <abystus> |
Component: | search | Assignee: | Dolphin Bug Assignee <dolphin-bugs-null> |
Status: | REPORTED --- | ||
Severity: | major | CC: | dashonwwIII, kfm-devel, kurtbw, postix, tagwerk19 |
Priority: | NOR | ||
Version First Reported In: | 23.04.2 | ||
Target Milestone: | --- | ||
Platform: | Neon | ||
OS: | Linux | ||
See Also: | https://bugs.kde.org/show_bug.cgi?id=435119 | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: | |||
Attachments: | Example |
Anyone had a chance to investigate this one yet? Confirming. Another example on one of my machines. Search for ".iso" as though one wants to find .iso files for burning. Dolphin's results do *not* exclude files with just "iso" in the file name. I would expect Dolphin's search to show *only* files with a ".iso" in the file name, so I can readily find the one I want to burn to a flash drive, or DVD. SOFTWARE/OS VERSIONS Dolphin: 22.12.3 (KDE Frameworks Version 5.103.0; Qt Version 5.15.8 (built against 5.15.8)) Operating System: Neptune 8.0 KDE Plasma Version: 5.27.5 KDE Frameworks Version: 5.103.0 Qt Version: 5.15.8 Kernel Version: 6.1.0-9-amd64 (64-bit) Graphics Platform: X11 If you are using Neon, Dolphin is probably asking Baloo for search results. Have a look at Bug 463830 and: https://bugs.kde.org/show_bug.cgi?id=463830#c2 If you are typing a search phrase character by character, you will notice: In filename searches, you will get exact matches even if you type a single character, so searching for "1" will find a "file 1" but not "file 1a" Again in a filename search, if you don't find an exact match, you need to type two characters, so you need to type "fi" to find "file 1" In content searches, you need to type three characters to find matches within the content. It can get a little tangled... (In reply to Kurt from comment #2) > ... Dolphin's results do *not* exclude files with just "iso" in the file name. Exclude? Include? I'm guessing you want "iso" files but not "isotopes.txt" You can query Baloo for an exact match by: $ baloosearch filename=iso or append a "$" to skip partial matches: $ baloosearch filename:iso$ Git commit 4102ccb80457eea44ea280f0ace2a419602bc34b by Felix Ernst. Committed on 07/04/2025 at 21:09. Pushed by felixernst into branch 'master'. Rewrite search integration This huge commit is a nearly complete rewrite of the Dolphin search code. It implements most of the improved Dolphin search UI/UX as designed and discussed in a collaborative effort by Kristen McWilliam, Jin Liu, Andy Betts, Tagwerk, a few others and me. See https://invent.kde.org/system/dolphin/-/issues/46. # Notable changes - A toggle to change the search tool is provided as most contributors deemed that useful in https://invent.kde.org/system/dolphin/-/merge_requests/642#note_985112. - The default search is changed to filenamesearch for maximum reliability. - Removing all search parameters will take users back to the view state prior to starting a search instead of keeping the search results open. - The UI for choosing file types or modification dates has been made more powerful with more granularity and more options. - Most search parameters can be configured from a popup menu which gives us extra space for extra clarity. - Labels and help buttons as well as hyperlinks to settings makes sure the user always knows why some search parameters are unavailable in some contexts. - Chips show important search parameters while the popup is closed. They allow quickly removing filters. - The titles of the search and the input field placeholder message change to make clear whether file names or file contents are searched. - When the user actively switches the search tool, whether content should be searched, or whether to search everywhere, this is preserved for the initial state of the search bar when the user opens it the next time after restarting Dolphin. # Architecture - The new DolphinQuery class is independent of the UI and contains all search parameters modifiable in Dolphin as easy setters and getters. - DolphinQuery objects are also used to update the states of every component in the search UI. There is now a clear separation of UI and search configuration/DolphinQuery. - DolphinQuery is responsible for exporting to and importing from search URLs. - The search UI always reflects the currently configured DolphinQuery no matter if the user changed the UI to change the DolphinQuery or loaded a DolphinQuery/older search URL which then is reflected in the UI. - I tried to simplify all classes and their interaction between each other as much as possible. - I added some tests Related: bug 386754, bug 446387, bug 470136, bug 480001, bug 483578, bug 488047, bug 488845, bug 500103, bug 435119, bug 458761, bug 475439, bug 477969 FIXED-IN: 25.08 M +19 -4 src/CMakeLists.txt M +5 -0 src/config-dolphin.h.cmake M +22 -17 src/dolphinmainwindow.cpp M +2 -6 src/dolphinrecenttabsmenu.cpp M +103 -130 src/dolphinviewcontainer.cpp M +41 -30 src/dolphinviewcontainer.h M +2 -2 src/global.h A +356 -0 src/search/bar.cpp [License: GPL(v2.0+)] A +206 -0 src/search/bar.h [License: GPL(v2.0+)] A +150 -0 src/search/barsecondrowflowlayout.cpp [License: LGPL(3+eV) LGPL(v3.0) LGPL(v2.1)] A +48 -0 src/search/barsecondrowflowlayout.h [License: LGPL(3+eV) LGPL(v3.0) LGPL(v2.1)] A +52 -0 src/search/chip.cpp [License: LGPL(3+eV) LGPL(v3.0) LGPL(v2.1)] A +101 -0 src/search/chip.h [License: LGPL(3+eV) LGPL(v3.0) LGPL(v2.1)] A +0 -0 src/search/configurationpopup.h [License: Trivial file] M +5 -1 src/search/dolphin_searchsettings.kcfg D +0 -312 src/search/dolphinfacetswidget.cpp D +0 -84 src/search/dolphinfacetswidget.h M +339 -70 src/search/dolphinquery.cpp M +278 -37 src/search/dolphinquery.h D +0 -575 src/search/dolphinsearchbox.cpp D +0 -189 src/search/dolphinsearchbox.h A +378 -0 src/search/popup.cpp [License: LGPL(3+eV) LGPL(v3.0) LGPL(v2.1)] A +99 -0 src/search/popup.h [License: LGPL(3+eV) LGPL(v3.0) LGPL(v2.1)] A +61 -0 src/search/selectors/dateselector.cpp [License: LGPL(3+eV) LGPL(v3.0) LGPL(v2.1)] A +42 -0 src/search/selectors/dateselector.h [License: LGPL(3+eV) LGPL(v3.0) LGPL(v2.1)] A +81 -0 src/search/selectors/filetypeselector.cpp [License: LGPL(3+eV) LGPL(v3.0) LGPL(v2.1)] A +36 -0 src/search/selectors/filetypeselector.h [License: LGPL(3+eV) LGPL(v3.0) LGPL(v2.1)] A +51 -0 src/search/selectors/minimumratingselector.cpp [License: GPL(v2.0+)] A +42 -0 src/search/selectors/minimumratingselector.h [License: LGPL(3+eV) LGPL(v3.0) LGPL(v2.1)] A +189 -0 src/search/selectors/tagsselector.cpp [License: GPL(v2.0+)] A +45 -0 src/search/selectors/tagsselector.h [License: GPL(v2.0+)] A +56 -0 src/search/updatablestateinterface.h [License: LGPL(3+eV) LGPL(v3.0) LGPL(v2.1)] A +67 -0 src/search/widgetmenu.cpp [License: LGPL(3+eV) LGPL(v3.0) LGPL(v2.1)] A +63 -0 src/search/widgetmenu.h [License: LGPL(3+eV) LGPL(v3.0) LGPL(v2.1)] M +3 -3 src/tests/CMakeLists.txt M +1 -1 src/tests/dolphinmainwindowtest.cpp M +214 -64 src/tests/dolphinquerytest.cpp A +124 -0 src/tests/dolphinsearchbartest.cpp [License: GPL(v2.0+)] D +0 -63 src/tests/dolphinsearchboxtest.cpp https://invent.kde.org/system/dolphin/-/commit/4102ccb80457eea44ea280f0ace2a419602bc34b |
Created attachment 159967 [details] Example SUMMARY When searching for files in folders within dolphin it is very hit or miss for a match when the text clearly contains the characters being searched for. STEPS TO REPRODUCE 1. Create a new folder and name it whatever you want 2. Create a few new files in that directory with several different variations of the same name, and possibly contain other special characters like underscores or dashes 3. Type in the word or characters that you know are included in all the files and see which ones match 4. Remove a character at a time to see how the search varies (you should see several files you created during this exercise do not show up in the results) 5. (Bonus bug) If you take it one step further and clear the search and press enter it will then list the folder that contains the files in addition to the files as if they were all in the same directory and not directly within that folder (the folder should never appear in a search within itself) OBSERVED RESULT Several files do not show up when searching, different variations of file names seem to determine what shows in the search results regardless of if the file contains the character sequence. EXPECTED RESULT For it to show all matching criteria regardless of what the file is called as long as it includes the character sequence entered in the search. SOFTWARE/OS VERSIONS Dolphin: 23.04.2 Operating System: KDE neon 5.27 KDE Plasma Version: 5.27.6 KDE Frameworks Version: 5.107.0 Qt Version: 5.15.10 Kernel Version: 5.19.0-45-generic (64-bit) Graphics Platform: X11 Processors: 12 × AMD Ryzen 5 5600G with Radeon Graphics Memory: 16.0 GiB of RAM Graphics Processor: AMD Radeon RX 5500