Compare commits
No commits in common. "078837f27656d6ef86a8be2ae1a051caa866bb53" and "20f82c4006d4ffdd3f8ae017a675afd4120df063" have entirely different histories.
078837f276
...
20f82c4006
|
@ -1,38 +0,0 @@
|
||||||
exports.up = async (knex) => {
|
|
||||||
await knex.raw(`
|
|
||||||
CREATE OR REPLACE FUNCTION curate_search_query(query text) RETURNS tsquery AS $$
|
|
||||||
SELECT to_tsquery('english', array_to_string(array(SELECT * FROM regexp_matches(query, '[A-Za-zÀ-ÖØ-öø-ÿ0-9]+', 'g')), '|'));
|
|
||||||
$$ LANGUAGE SQL STABLE;
|
|
||||||
|
|
||||||
CREATE OR REPLACE FUNCTION search_releases(query text) RETURNS SETOF releases_search_results AS $$
|
|
||||||
SELECT results.release_id, ts_rank(results.document::tsvector, curate_search_query(query)) as rank
|
|
||||||
FROM (
|
|
||||||
SELECT releases_search.release_id, document
|
|
||||||
FROM releases_search
|
|
||||||
WHERE document::tsvector @@ curate_search_query(query)
|
|
||||||
) AS results
|
|
||||||
ORDER BY rank DESC;
|
|
||||||
$$ LANGUAGE SQL STABLE;
|
|
||||||
|
|
||||||
COMMENT ON FUNCTION search_releases IS E'@sortable';
|
|
||||||
`);
|
|
||||||
};
|
|
||||||
|
|
||||||
exports.down = async (knex) => {
|
|
||||||
await knex.raw(`
|
|
||||||
CREATE OR REPLACE FUNCTION search_releases(query text) RETURNS SETOF releases_search_results AS $$
|
|
||||||
SELECT releases.id, ranks.rank FROM (
|
|
||||||
SELECT
|
|
||||||
releases_search.release_id,
|
|
||||||
ts_rank(releases_search.document, to_tsquery('english', array_to_string(array(SELECT * FROM regexp_matches(query, '[A-Za-zÀ-ÖØ-öø-ÿ0-9]+', 'g')), '|'))) AS rank
|
|
||||||
FROM releases_search
|
|
||||||
) ranks
|
|
||||||
LEFT JOIN releases ON releases.id = ranks.release_id
|
|
||||||
WHERE ranks.rank > 0
|
|
||||||
ORDER BY ranks.rank DESC;
|
|
||||||
$$ LANGUAGE SQL STABLE;
|
|
||||||
|
|
||||||
DROP FUNCTION curate_search_query;
|
|
||||||
COMMENT ON FUNCTION search_releases IS E'@sortable';
|
|
||||||
`);
|
|
||||||
};
|
|
|
@ -1,12 +1,12 @@
|
||||||
{
|
{
|
||||||
"name": "traxxx",
|
"name": "traxxx",
|
||||||
"version": "1.227.13",
|
"version": "1.227.12",
|
||||||
"lockfileVersion": 2,
|
"lockfileVersion": 2,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"name": "traxxx",
|
"name": "traxxx",
|
||||||
"version": "1.227.13",
|
"version": "1.227.12",
|
||||||
"license": "ISC",
|
"license": "ISC",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@casl/ability": "^5.2.2",
|
"@casl/ability": "^5.2.2",
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "traxxx",
|
"name": "traxxx",
|
||||||
"version": "1.227.13",
|
"version": "1.227.12",
|
||||||
"description": "All the latest porn releases in one place",
|
"description": "All the latest porn releases in one place",
|
||||||
"main": "src/app.js",
|
"main": "src/app.js",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
|
Loading…
Reference in New Issue