sphinx の検索に unicode normalization を導入するパッチを書いた
https://github.com/sphinx-doc/sphinx/pull/13384
sphinx-doc は全文検索機能を自前で実装している。現在、文字種の正規化機能がないため、例えば IP
と書いてあったときに IP
というキーワードで検索出来なかったりする。
近年では python でもブラウザの javascript ともに組み込みの unicode 正規化機構が利用可能であるから、実装は容易である。
see: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/normalize
設定ファイルに html_search_unicode_normalization='NFKC'
などと記述すると検索インデクスがユニコード正規化された形になる。
この設定項目は JavaScript にも伝播され、検索クエリも正規化される。
Published: 2025-02-02(Mon) 00:37