Skip to content
A Proof-of-Concept search engine for Quassel logs based on PostgreSQL fulltext search
Branch: 3.0
Clone or download
Latest commit 9af8858 Mar 13, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
api Significant performance improvements (most queries should now be belo… Oct 12, 2017
database Bugfixes in positioning of context; & fixed Mar 4, 2018
res Updated dependencies Mar 13, 2019
templates Proper errors, loading indicators and more animations Mar 4, 2018
translations
web
.gitignore Switched to JSX, updated UI Mar 27, 2017
.htaccess Add .htaccess file Sep 18, 2016
LICENSE.lgpl added license Feb 6, 2016
README.md Fixed the Readme Oct 13, 2017
favicon.ico Improved icons Mar 14, 2018
favicon.png Improved icons Mar 14, 2018
favicon.svg
index.php Significant performance improvements (most queries should now be belo… Oct 12, 2017
login.php Significant performance improvements (most queries should now be belo… Oct 12, 2017
package-lock.json Updated dependencies Mar 13, 2019
package.json Updated dependencies Mar 13, 2019
qrs_config.default.php Fixed default timeout Mar 4, 2018

README.md

Quassel RESTSearch

This is a websearch frontend for a quassel database.

It offers both a simple HTTP API for search, and a normal website for the same purpose.

Setting up search backends

pgsql-smart

First, add a new column to the backlog table:

ALTER TABLE backlog ADD COLUMN tsv tsvector;

Second, add the two new indices:

CREATE INDEX backlog_tsv_idx
  ON backlog
  USING gin(tsv);
CREATE INDEX backlog_tsv_filtered_idx
  ON backlog
  USING gin(tsv)
  WHERE (type & 23559) > 0;

Third, set up a trigger to populate the tsv column:

CREATE TRIGGER tsvectorupdate
  BEFORE INSERT OR UPDATE
  ON backlog
  FOR EACH ROW
  EXECUTE PROCEDURE tsvector_update_trigger('tsv', 'pg_catalog.english', 'message');

Fourth, populate the tsv column:

UPDATE backlog SET messageid = messageid;

Setting up the search

First, rename the file qrs_config.default.php to qrs_config.php.

Then configure the database access, backend (currently only pgsql-smart is available), and the prefix of the path.

Development

Please install the required libraries for development with npm install

Before every commit, git will automatically run npm run jsx, but you can do so yourself during testing. The project uses nativejsx

License and Credits

The error image is from xiprox/ErrorView and under Apache2.

This project uses the "Material Icons" font from Google, available under Apache2.

The rest of this project is available under LGPLv2.1 or later.

You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.