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