FTS desktop file search with previews
移至檔案
2022-06-05 14:40:11 +02:00
cli cli: CommandUpdate: Use shared/IndexSyncer 2022-06-04 17:09:26 +02:00
gui gui: mainwindow: Set default query limit to 1000 2022-06-05 14:39:57 +02:00
shared shared: SqliteSearch: Append LIMIT statement if need be 2022-06-05 14:39:57 +02:00
submodules submodules: exile.h: Update 2022-06-04 17:09:26 +02:00
.gitmodules Switch to exile.h 2022-01-01 17:58:52 +01:00
CHANGELOG.md TO REBASE CHANGELOG.md, USAGE.md 2022-06-05 14:40:11 +02:00
icon.svg gui: Add icon 2022-04-28 09:13:34 +02:00
LICENSE add LICENSE 2022-04-24 20:07:25 +02:00
looqs.desktop Begin a .desktop file 2022-02-04 18:19:08 +01:00
looqs.pro Rename qss.pro to looqs.pro 2021-06-12 15:14:10 +02:00
README.md update README.md 2022-06-05 14:40:11 +02:00
USAGE.md TO REBASE CHANGELOG.md, USAGE.md 2022-06-05 14:40:11 +02:00

looqs - Full-text search with previews for your files

looqs is a tool that creates a full-text search index for your files. It allows you to look at previews where your search terms have been found, as shown in the screenshots below.

Screenshots

The screenshots in this section may occasionally be slightly outdated, but they are usually recent enough to get an overall impression of the current state.

List

Screenshot looqs results

Preview

Screenshot looqs Screenshot looqs search fstream

Current status

Last version: 2022-0X-XX, v0.1

Please see Changelog for a human readable list of changes.

Goals and principles

  • Find & Preview. Instead of merely telling you where your search phrase has been found, it should also render the corresponding portion/pages of the documents and highlight the searched words.
  • No daemons. As some other desktop search projects are prone to have annoying daemons running that eat system resources away, this solution should make do without daemons where possible.
  • Easy setup. Similiarly, there should be no need for heavy-weight databases. Instead, this solution tries to squeeze out the most from simple approaches. In particular, it relies on sqlite.
  • GUI & CLI. Provide CLI interfaces and GUI interfaces
  • Sandboxing. As reading and rendering lots of formats naturally opens the door for security bugs, those tasks are offloaded to small, sandboxed sub-processes to mitigate the effect of exploited vulnerabilities.

Supported platforms

Linux (on amd64) is currently the main focus. Currently, I don't plan on supporting anything else and the sandboxing architecture does not make it likely. I suppose a version without sandboxing might be conceivable for other platforms, but I have no plans or resources to actively target anything but Linux at this point.

Licence

GPLv3.

Contributing

For now, github issues and pull-requests are preferred, but you can also just email your patches or issues to: looqs at quitesimple.org

Please target the 'dev' branch in your pull request.

Build

Ubuntu 21.10/22.04

git submodule init
git submodule update
sudo apt install build-essential qtbase5-dev libpoppler-qt5-dev libuchardet-dev libquazip5-dev
qmake
make

The GUI is located in gui/looqs-gui, the binary for the CLI is in cli/looqs

Documentation

Please see USAGE.md for the user manual.

Packages

Coming soon™