ネットで調べると「Adapterクラスの getFilterをオーバーライドしてカスタムフィルタを返すようにしろ」「FilterQueryProviderを設定するんだ」等々あるのだけど、CursorAdapterと CursorLoaderを使っているような状況だとどれにも当てはまらず、「restartLoaderを使って SQLiteに丸投げするんだよ」的な答えに行き着く。
ソレはソレでいいのだけど、自分は「ContentProviderに渡す URIにキーワード類を含めるのか?」「その時は良いだろうけど、通知周りがぼろぼろにならんか?」等々悩んだわけだ。
その結果、ContentProvider#queryメソッドに URIと共に SQLの断片が渡される意味がわかった。
URIは何のリストかを表すだけで、SQLの断片でフィルタリング等々を実装するわけだ。
というわけで、フィルタの条件が変わったら URIそのままで restartLoaderを呼び出し、ソレによって構築される SQLが新しいフィルタを反映するように組み直すと。