커밋 그래프

24 커밋

작성자 SHA1 메시지 날짜
c155d25a37 shared: sqlitesearch: Search trigram index too
Search the trigram index too, combining the results
with the results of the "normal" fts index.

Prioritize the latter since it makes more sense to
rank whole words higher.
2022-10-18 16:06:10 +02:00
3022bbdfb5 sqlitesearch: escapeftsArgument: Fix wrong escaping of phrase queries 2022-10-02 19:55:10 +02:00
10d61acbd0 shared,gui: SearchResult: remove page vector
Since the previous commit we don't group the results
anymore, making the vector redundant
2022-08-24 00:00:11 +02:00
eef0fae137 shared,gui,cli: Fix intra-file ordering for content search results
group_concat() does not preserve order of the ORDRE BY rank,
making the ordering quite meaningless for pages inside a file.

The recently introduced combobox to filter on a per file basis
should anyway be prefered than any kind of grouping in queries.

So we just remove the groupings here.

"All files" in the previews tab thus should show the best results
first now, from any files part of the result set.

A GUI option to sort by page instead of rank can be considered.
2022-08-23 23:44:47 +02:00
c0f4087937 sqlitesearch: escapeFtsArgument: Fix handling of '*' prefix search
The * must not be in quotes
2022-08-21 07:55:49 +02:00
1849eba190 shared: sqlitesearch: Escape FTS arguments
Most users are not to be expected to be familiar with
sqlite's FTS syntax. It also leads to unnnecessary
arrows in some instances.

So wrap every space separated word in quotes, unless
it's already in quotes. Then we just escape those with
double-quotes.
2022-07-28 17:49:40 +02:00
1da8344295 shared: Adjust queries to db revision 2 2022-07-28 14:00:46 +02:00
451c79088a shared/gui: Don't consider non-content search results for previews
Not entirely ideal, since we may want to search for 'cake', and look at
a preview for 'cake.txt' even if there is no 'cake' inside.

But this will do for now
2022-06-13 22:46:14 +02:00
e5e43c8bfb shared: SqliteSearch: Append LIMIT statement if need be 2022-06-05 14:39:57 +02:00
e3440beae7 shared: sqlitesearch: Avoid joining content table more than once 2022-04-24 15:52:20 +02:00
8194476fa6 shared: sqlitesearch: Only order by rank if token is FILTER_CONTENT_CONTAINS 2022-04-24 15:52:20 +02:00
01872e37d5 Add missing paranthesis
Not sure how these slipped through.
2021-06-12 22:51:22 +02:00
e97551be97 Rename all symbols to new project name 2021-06-12 14:59:58 +02:00
ee4fe51a77 shared: sqlitesearch: Remove subquery for content search
The subquery only works for boolean retrieval, its
ordering is irrelevant. Thus, use INNER JOIN instead
and order by rank by default.
2021-03-07 22:27:48 +01:00
33b145e6d2 shared: sqlitesearch: Order by rank by default for content search
Making ranked results the default makes (obviously) more sense for
content search.
2020-12-19 12:42:28 +01:00
cff481a57e Refactor search queries: Introduced QSSQuery
Purpose is to seperate certain logic from SQLite and generalize it more.
Even though we only have Sqlite atm, in general the database layers
must be stupid as possible, while QSSQuery should do most of the hard work.

Fixes in Tokenizer logic.
Switched to C++17.
2019-08-18 00:25:21 +02:00
4a8d994358 sqlitesearch: improve tokenizer and fix sort handling 2019-05-04 20:40:43 +02:00
6f92b9ff5a search: fixed: order by after group by in content search 2019-04-27 21:23:06 +02:00
c338bb20bd search: default sort by mtime and page 2019-04-26 21:41:20 +02:00
8c027566e3 search: Avoid redundant results by placing pages into vector instead of returning searchresult for each page 2019-04-26 15:31:42 +02:00
569d8c4138 Begin sort: statement implementation, use bindvalues in all search filters, gui: save current scale 2019-04-25 10:27:54 +02:00
a26382b697 SqliteSearch: Use correct column for file size 2019-04-22 23:16:29 +02:00
326c12ca80 move more files to shared project ; searchresultt.h: use filedata.h 2019-04-22 21:07:41 +02:00
6b94b8f619 Begin 'shared' project to share code between cli and gui 2019-04-20 23:31:14 +02:00