Open yabuki opened 6 years ago
こんにちは。 気になって調べてみました。ベストプラクティスは見つかっておりません。
https://docs.python.org/ja/3.8/tutorial/datastructures.html#list-comprehensions
上記のURLのドキュメント中に「リスト内包表記」の文字列は存在するので、検索エンジンが原因でしょうか。(OpenSearchの設定?)
色々試しましたところ、
といった結果なので、部分文字列検索ではなく単語検索のようなことをしていると思われます。
言語をEnglishにして以下の単語を検索した場合、
となるので、一概には言えませんが、やはり単語検索している可能性が高いです。
OpenSearchに詳しくないのでもしかしたら別の方が解決策を知っているかもしれませんが、場当たり的な対処法として「細かい単語で区切って検索する」という方法があるようです。
html_search_option のデフォルトでは、Sphinx本体側でもっている検索インデックスを作るために、元の文章をTinySegmenter(のPython実装)を使って分かち書きしています。 http://chasen.org/~taku/software/TinySegmenter/
Sphinxのビルド時に生成される検索インデックス https://docs.python.org/ja/3.8/searchindex.js を「内包( \u5185\u5305
) 」で探してみると、分割された状態になっていることがわかります。
ユーザーが検索ボックスに入力する単語は、JS実装のTinySegmenterで分かち書きされ、Sphinxの用意した検索インデックスで検索するのですが、その分かち書きがうまく動作していない可能性がありそうです。
"\u30ea\u30b9\u30c8":[84,91,99,102,144,317,341,421,432,433,440,443,451,459],
"\u5185\u5305":[99,433,451],
"\u8868\u8a18":[99,421,425,433,442,451],
共通するインデックス番号 99,433,451 それぞれのページ
docnames[99] == 'howto/functional'
docnames[433] == 'tutorial/datastructures'
docnames[451] == 'whatsnew/2.0'
やっぱり、検索語が分割されてないですね。
Sphinx自体の問題なのかどうか、調べてみます。
検索語が分割される前提でコメントしたけど、そのような実装はなさそう( https://github.com/sphinx-doc/sphinx/pull/3154 で実装してあると記憶違いしていた)。
また、クライアントサイドの分かち書きを設定で差し込む仕組みも現状はないので、実現するには以下が必要そうです。
要望を https://github.com/sphinx-doc/sphinx/issues に書いてくれるとうれしいです
Workaround として Google で「site:docs.python.org/ja/2.7 リスト内包表記」や「site:docs.python.org/ja/2 リスト内包表記」といった文言で検索してください.
一般的な話として, issue の文面は起きている問題やどうして欲しいかを整理して書くものとなっています.
これまで, そういう形式を明示的には強制はしていなかったのですが, これからは強制するものとしていきたいと思います. これは, issue の作成者以外の人にも問題の内容が分かるようにするためと, issue を閉じる条件を厳密にするためです.
こんにちは。
ドキュメントを日本語の「リスト内包表記」で検索した所0件で悲しい気持ちになりました。 可能なら日本語でもヒットするようにしていただけると助かります。