Ranked Search on SQLite: FTS5, BM25, and an Eight-Signal Scorer