fashionable cyber witch project vyr<ol><li><a href="https://github.com/VyrCossont/gotosocial/commit/a87e9d561f99a8426aa1613143183e406bd1a21d" rel="nofollow noopener noreferrer" target="_blank">advanced search operators prototype.</a> status: not quite ready for prime time.<ul><li>has a bunch of goofy operators nobody but me will ever use, such as <code>is:article</code></li><li>still missing some classics like <code>lang:</code>, <code>domain:</code>, <code>before:</code>, and <code>after:</code>, and some oddballs like <code>is:bot</code> (would require extra join) and <code>sort:</code> (would break ID-based paging)</li><li>needs docs, although i know where Past Vyr basically already wrote them: <a href="https://github.com/VyrCossont/mastodon/pull/8" rel="nofollow noopener noreferrer" target="_blank">https://github.com/VyrCossont/mastodon/pull/8</a> 😇</li></ul></li><li><a href="https://github.com/VyrCossont/gotosocial/commit/60495c02a98a5cc53ebff57fc01dd2cd44650d0a" rel="nofollow noopener noreferrer" target="_blank"><strong>indexed</strong> full text search prototype.</a> status: heretical.<ul><li>only works on PostgreSQL: <a href="https://www.sqlite.org/fts5.html" rel="nofollow noopener noreferrer" target="_blank">SQLite's full-text search</a> is much fussier and requires using a "virtual table" and frankly i can't be bothered, at least tonight</li><li>direct port of <a href="https://github.com/VyrCossont/mastodon/pull/3" rel="nofollow noopener noreferrer" target="_blank">https://github.com/VyrCossont/mastodon/pull/3</a> and has the same limitations: HTML isn't stripped, and media alt text and poll options aren't indexed</li><li>fixing that would start by adding a <a href="https://www.postgresql.org/docs/current/datatype-textsearch.html#DATATYPE-TSVECTOR" rel="nofollow noopener noreferrer" target="_blank"><code>tsvector</code></a> column that concatenates (with record separators? as an array?) the contents of <code>filterableFields</code> for a status, updates it every time the status or its attachments are edited, and GIN-indexes that column</li><li>ignores the whole issue of matching posts to language tags and language tags to PG <a href="https://www.postgresql.org/docs/current/textsearch-configuration.html" rel="nofollow noopener noreferrer" target="_blank">text search configurations</a> by assuming that everything is English</li><li>still <em>massively</em> faster than unindexed <code>ILIKE</code> that vanilla GTS uses</li></ul></li></ol><p>edit: fixed a backwards flag in <code>has:media</code> and related operators</p><p><a href="https://princess.industries/tags/gotosocial" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>GoToSocial</span></a> <a href="https://princess.industries/tags/gts" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>GTS</span></a> <a href="https://princess.industries/tags/fulltext" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>FullText</span></a> <a href="https://princess.industries/tags/fulltextsearch" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>FullTextSearch</span></a></p>