| Summary: | 25+ char string without spaces search fails | ||
|---|---|---|---|
| Product: | [Frameworks and Libraries] frameworks-baloo | Reporter: | i16d0o+8ay17bwmgpcgw |
| Component: | general | Assignee: | Stefan Brüns <stefan.bruens> |
| Status: | RESOLVED FIXED | ||
| Severity: | normal | CC: | tagwerk19, yaomtc |
| Priority: | NOR | ||
| Version First Reported In: | unspecified | ||
| Target Milestone: | --- | ||
| Platform: | Other | ||
| OS: | Linux | ||
| Latest Commit: | Version Fixed/Implemented In: | ||
| Sentry Crash Report: | |||
| Attachments: |
Dolphin Search - with 24 character search string
Dolphin Search - with 25 character search string |
||
|
Description
i16d0o+8ay17bwmgpcgw
2019-09-28 16:24:57 UTC
Created attachment 138962 [details]
Dolphin Search - with 24 character search string
Created attachment 138963 [details]
Dolphin Search - with 25 character search string
Well I never...
Make sure baloo is running...
$ balooctl status
$ echo "Hello Penguin" > abcdefghijklmnopqrstuvwxyz
$ baloosearch abcdefghijklmnopqrstuvwxy
/home/xxxx/abcdefghijklmnopqrstuvwxyz
So, baloo is fine...
Run Dolphin, Ctrl-F and type abcdefghijklmnopqrstuvwxy
You see a file match
Add a 'z' and...
The match disappears...
See the attachments, flagging as Confirmed...
This is with:
Neon Unstable
Plasma: 5.22.80
Frameworks: 5.83.0
Qt: 5.15.3
(In reply to tagwerk19 from comment #3) > So, baloo is fine... Whups, didn't finish the test: $baloosearch abcdefghijklmnopqrstuvwxy /home/xxxx/abcdefghijklmnopqrstuvwxyz Elapsed: 0.258107 msecs $baloosearch abcdefghijklmnopqrstuvwxyz Elapsed: 0.207821 msecs So, baloo rather than dolphin: $balooshow -x abcdefghijklmnopqrstuvwxyz 143dd40000fc01 64513 1326548 abcdefghijklmnopqrstuvwxyz [/home/xxxx /abcdefghijklmnopqrstuvwxyz] Mtime: 1622665708 2021-06-02T22:28:28 Ctime: 1622665708 2021-06-02T22:28:28 Cached properties: Line Count: 1 Internal Info Terms: Mplain Mtext T5 T8 X20-1 hello penguin File Name Terms: Fabcdefghijklmnopqrstuvwxy XAttr Terms: lineCount: 1 Baloo currently handles term truncation only for "equals" queries, not "contains" queries (the default). $> baloosearch filename=abcdefghijklmnopqrstuvwxyz returns the file, while the following does not: $> baloosearch filename:abcdefghijklmnopqrstuvwxyz $> baloosearch abcdefghijklmnopqrstuvwxyz is intenally expanded to: $> baloosearch content:abcdefghijklmnopqrstuvwxyz OR filename:abcdefghijklmnopqrstuvwxyz A possibly relevant merge request was started @ https://invent.kde.org/frameworks/baloo/-/merge_requests/158 Git commit b7c8ce1a999225f0362b8be274a9d5c786c3edda by Stefan Brüns.
Committed on 06/07/2023 at 19:21.
Pushed by bruns into branch 'master'.
[SearchStore] Always use TermGenerator instead of QueryParser
The QueryParser handles two fairly distinct tasks, parsing of quoting
characters, and splitting of phrases into terms.
The Phrase/Term splitting is similar to the TermGenerator, but slightly
different. Using a different implementation for searching and DB storage
can cause matching errors.
While the nested QueryParser quoting /can/ be used, it is fairly
redundant, and problematic:
- Quoting is already handled by the AdvancedQueryParser, which always
sits in front of the SearchStore.
- The QueryParser is *only* used for "contains" queries (e.g.
filename:foo.png) not "equal" queries ("filename=foo.png").
- Quoting of phrases for both variants is different,
content:\"\'a b\'\" vs. content=\"a \"b".
- The QueryParser does not handle term truncation (see bug reference).
Use the TermGenerator in all cases, so term splitting and quoting is
uniform.
M +0 -1 autotests/integration/querytest.cpp
M +7 -3 src/lib/searchstore.cpp
https://invent.kde.org/frameworks/baloo/-/commit/b7c8ce1a999225f0362b8be274a9d5c786c3edda
Git commit c85de29f33224e27f273f66fef09837d24fdfd2c by Stefan Brüns.
Committed on 06/07/2023 at 22:39.
Pushed by bruns into branch 'kf5_test'.
[SearchStore] Always use TermGenerator instead of QueryParser
The QueryParser handles two fairly distinct tasks, parsing of quoting
characters, and splitting of phrases into terms.
The Phrase/Term splitting is similar to the TermGenerator, but slightly
different. Using a different implementation for searching and DB storage
can cause matching errors.
While the nested QueryParser quoting /can/ be used, it is fairly
redundant, and problematic:
- Quoting is already handled by the AdvancedQueryParser, which always
sits in front of the SearchStore.
- The QueryParser is *only* used for "contains" queries (e.g.
filename:foo.png) not "equal" queries ("filename=foo.png").
- Quoting of phrases for both variants is different,
content:\"\'a b\'\" vs. content=\"a \"b".
- The QueryParser does not handle term truncation (see bug reference).
Use the TermGenerator in all cases, so term splitting and quoting is
uniform.
M +0 -1 autotests/integration/querytest.cpp
M +7 -3 src/lib/searchstore.cpp
https://invent.kde.org/frameworks/baloo/-/commit/c85de29f33224e27f273f66fef09837d24fdfd2c
Git commit af0b611bced29e6cc00f120e9ff69470bd657a7d by Stefan Brüns.
Committed on 13/11/2023 at 21:41.
Pushed by bruns into branch 'kf5'.
[SearchStore] Always use TermGenerator instead of QueryParser
The QueryParser handles two fairly distinct tasks, parsing of quoting
characters, and splitting of phrases into terms.
The Phrase/Term splitting is similar to the TermGenerator, but slightly
different. Using a different implementation for searching and DB storage
can cause matching errors.
While the nested QueryParser quoting /can/ be used, it is fairly
redundant, and problematic:
- Quoting is already handled by the AdvancedQueryParser, which always
sits in front of the SearchStore.
- The QueryParser is *only* used for "contains" queries (e.g.
filename:foo.png) not "equal" queries ("filename=foo.png").
- Quoting of phrases for both variants is different,
content:\"\'a b\'\" vs. content=\"a \"b".
- The QueryParser does not handle term truncation (see bug reference).
Use the TermGenerator in all cases, so term splitting and quoting is
uniform.
(cherry picked from commit b7c8ce1a999225f0362b8be274a9d5c786c3edda)
M +0 -1 autotests/integration/querytest.cpp
M +7 -3 src/lib/searchstore.cpp
https://invent.kde.org/frameworks/baloo/-/commit/af0b611bced29e6cc00f120e9ff69470bd657a7d
|