How to Fix FULLTEXT Not Using Your Index

Wrong query shape can bypass FULLTEXT entirely.

#mysql #fulltext #index #performance #howto #search

https://www.youtube.com/watch?v=4Fm189IlsOc

How to Fix FULLTEXT Not Using Your Index #howto

YouTube

🔍 / #software / #article

"Full-Text Search in SQLite: A Practical Guide"

> #FullText Search (FTS) in #SQLite is a powerful feature that enables efficient searching through large amounts of text data. Unlike traditional SQL LIKE queries that perform linear scans, #FTS uses sophisticated indexing techniques to deliver lightning-fast search results with ranking capabilities.

🐱🔗 https://laravista.altervista.org/CatLink/links/473

#catlink #softwarearticle

Full-Text Search in SQLite: A Practical Guide

Full-Text Search (FTS) in SQLite is a powerful feature that enables efficient searching through large amounts of text data. Unlike traditional SQL LIKE queries that perform linear scans, FTS uses sophisticated indexing techniques to deliver lightning-fast search results with ranking capabilities.

🔍 / #software / #article

"MiniSearch, a client-side full-text search engine"
by @lucaong

> This blog post is to introduce #MiniSearch, a #JavaScript library that provides client-side #FullText #search capabilities. It has zero runtime dependencies, and uses a space optimized index to support memory constrained environments like mobile browsers.

🐱🔗 https://laravista.altervista.org/CatLink/links/471

#catlink #softwarearticle

MiniSearch, a client-side full-text search engine

This blog post is to introduce MiniSearch, a JavaScript library that provides client-side full-text search capabilities. It has zero runtime dependencies, and uses a space optimized index to support memory constrained environments like mobile browsers.

PostgreSQL Full-Text Search: A Powerful Alternative to Elasticsearch for Small to Medium…

Deep Dive how PostgreSQL’s full-text search can eliminate the need for Elasticsearch in your next project

Medium
Für Anton haben wir ein sehr simples Open Source Paket geschrieben (pure PHP ohne weitere Abhängigkeiten). Nun werden nicht nur PDFs volltextindexiert, sondern auch Office Dokumente: MS- und LibreOffice Dokumente, Tabellen und Präsentationen. Mal sehen wie gut es in der Praxis klappt.
https://github.com/ottosmops/office2text #anton #office #archives #fulltext

Быстрый алгоритм fulltext-поиска без токенизации

Меня зовут Дмитрий Ольшанский, я ведущий инженер Т-Банка. Расскажу о новом (насколько мне известно) алгоритме поиска текста по шаблону. Такая задача возникла в рамках проекта Sage — observability-платформы от Т-Банка, для которой мы строим новый бэкэнд для структурированных логов, SageDB.

https://habr.com/ru/companies/tbank/articles/906990/

#поиск_текста #алгоритмы_поиска #fulltext

Быстрый алгоритм fulltext-поиска без токенизации

Меня зовут Дмитрий Ольшанский, я ведущий инженер Т-Банка. Расскажу о новом (насколько мне известно) алгоритме поиска текста по шаблону. Такая задача возникла в рамках проекта Sage —...

Хабр
Rearview - 增强你的浏览历史体验

支持长期存储、全文搜索、时间线视图和 AI 助手功能的浏览器扩展

A Sense of Doubt blog post #3707 - SoD Reprint of #1780 - "God is an Iron" by Spider Robinson

A Sense of Doubt blog post #3707 - SoD Reprint of #1780 - "God is an Iron" by Spider Robinson This is one of my favorite stories. It was and...

  • advanced search operators prototype. status: not quite ready for prime time.
    • has a bunch of goofy operators nobody but me will ever use, such as is:article
    • still missing some classics like lang:, domain:, before:, and after:, and some oddballs like is:bot (would require extra join) and sort: (would break ID-based paging)
    • needs docs, although i know where Past Vyr basically already wrote them: https://github.com/VyrCossont/mastodon/pull/8 😇
  • indexed full text search prototype. status: heretical.
    • only works on PostgreSQL: SQLite's full-text search is much fussier and requires using a "virtual table" and frankly i can't be bothered, at least tonight
    • direct port of https://github.com/VyrCossont/mastodon/pull/3 and has the same limitations: HTML isn't stripped, and media alt text and poll options aren't indexed
    • fixing that would start by adding a tsvector column that concatenates (with record separators? as an array?) the contents of filterableFields for a status, updates it every time the status or its attachments are edited, and GIN-indexes that column
    • ignores the whole issue of matching posts to language tags and language tags to PG text search configurations by assuming that everything is English
    • still massively faster than unindexed ILIKE that vanilla GTS uses
  • edit: fixed a backwards flag in has:media and related operators

    #GoToSocial #GTS #FullText #FullTextSearch

    Advanced search operators · VyrCossont/gotosocial@a87e9d5

    Fast, fun, ActivityPub server, powered by Go. Contribute to VyrCossont/gotosocial development by creating an account on GitHub.

    GitHub

    ok, here you go, updated GTS search patches for 0.18.0rc1. notice how they're on my repo? these are completely unofficial. do not bug anyone but me about them.

  • improved hashtag search. status: upstreamable, mostly.
    • doesn't require # prefix to search hashtags
    • searches for matches anywhere in a hashtag: Mac now matches VintageMac as well as MacOS
    • includes hashtags when not specifically searching for accounts or statuses, like most Mastodon-compatibles
    • doesn't change existing tag sorting. popularity and/or recency might be more useful
  • offset paging for searches. status: not upstreamable yet.
    • more compatible: many clients can't do ID paging
    • allows paging hashtag search results: Mastodon API has no concept of IDs for hashtags, so ID paging can't work for those anyway
    • possible performance issues: see comments on why main doesn't have it already. personally, i haven't noticed and i run this instance on a tiny VPS
  • remove search restrictions. status: heretical.
    • searches any post on your instance (except other accounts' private/direct posts, and accounts that have you blocked)
    • includes public, unlisted, your own private and DM posts, and private and DM posts that are replies to you
    • expanded search is default: revert to standard GTS behavior by adding scope:classic or in:library operator to search query
    • definite performance issues: this means searching more posts! GTS does not use either PG full-text indexes/operators or SQLite full-text virtual tables, and this patch doesn't change that.
    • doesn't include alt text of media attachments, or polls, because main doesn't
  • i may add more patches to this list in the medium future as i add more functionality to my own instance, for example, date range operators (before:date, after:date), post property operators (has:image,has:poll, has:cw, is:sensitive, visibility:public), threading operators (to:user@instance.tld, is:reply, -is:reply), sort operators (sort:oldest, sort:newest, sort:favs) and maybe PG full-text indexing if i have a really good day (i really don't wanna figure out SQLite's weird shit! someone else do it!)

    randos don't debate me about Fedi search. my clients can't set per-post interaction controls yet so i'll just block you.

    #GoToSocial #GTS #FullText #FullTextSearch

    Search for tags even when # prefix is omitted · VyrCossont/gotosocial@bef51e4

    Search for internal matches, not just prefix matches A full-text search should return tags as well as accounts and statuses.

    GitHub