制限事項¶
tebunko の検索対象外となる内容と、機能上の制限をまとめます。既知の問題の詳細は、設計書の 既知の問題 を参照してください。
単一 .ps1 版(試験版)¶
単一 .ps1 版は試験版です。zip 版・インストーラー版と次の点が違います。
- 窓とバージョン情報のアイコンは、既定のアイコンになります。
tebunko.batが行う起動の失敗の記録(言語モードなどの記録)はありません。- 起動の途中の失敗は、zip 版と同じくメッセージボックスで知らせることがあります。ファイルそのものが壊れていて読み込めないとき(ダウンロードが途中で切れたときなど)は、PowerShell の窓がすぐに閉じ、理由を読めません。そのときは
SHA256SUMS.txtでハッシュを確かめ、ダウンロードし直してください。 - 単一 .ps1 は日本語のまま BOM 付き UTF-8 で配ります。保存し直すなどで BOM が落ちても、日本語が化けずに動きます。Shift_JIS で保存し直したものは対象外です(日本語の Windows の Windows PowerShell 5.1 では日本語以外の文字が
?になることがあり、それ以外の環境と PowerShell 7 では英語の案内を出して止まります)。UTF-8(BOM 付き)で保存し直してください。 - PowerShell の言語モードが
FullLanguageでない環境では、英語の 1 行を出して終了します。エラーの表示にファイル名は出ません(行番号はファイルの行と同じです)。 - 配布物の改ざんの確認は、zip 版の
tebunko.catではなく、SHA256SUMS.txtで行います。
検索対象外の内容¶
- 画像内の文字(スキャンした文書の画像など)
- 埋め込みオブジェクトのうち、Word・PowerPoint に埋め込んだ Office のファイル(Excel のブック・Word 文書・PowerPoint)以外の文字(画像・PDF など)。Excel に埋め込んだ別ファイルの文字。Office のファイルの中にさらに埋め込んだものの文字
- Excel の非表示シート・新しい種類のグラフ(じょうご・ツリーマップ・滝など)の文字
- PowerPoint のスライドマスターの文字
Excel・Word・PowerPoint の図形・SmartArt・グラフの文字は、[図形]が有効な場合に検索対象となります(グラフはタイトル・軸ラベル・系列名だけが対象で、項目名〈横軸に並ぶ文字〉と数値は検索できません)。
更新できないファイル¶
- 読み取りパスワードが設定されたファイル(パスワードを解除したコピーであれば更新できます)
- IRM(情報権利管理)・秘密度ラベルによって暗号化されたファイル(保護を解除したコピーであれば更新できます)
- 1 ファイルの更新に 10 分以上を要するファイル(サイズが極端に大きい、開く際にダイアログが表示される、など)
- 破損したファイル、または拡張子と内容の形式が一致しないファイル
- 10MB を超えるテキストファイル
- 展開すると極端に大きくなるファイル(
.xlsx.docx.pptxの中身の 1 つが展開後 100MB を超える、または 1 ファイルで読む中身の合計が 300MB を超えるもの。Excel のシートは、1 ファイルのシートを読んだ合計が展開後 1000MB を超えると、それより後のシートのヘッダー・フッターを読みません。細工したファイルによる攻撃を防ぐための上限。Excel の図形・コメントは、1 つのグラフ・SmartArt だけが超えた場合はそこだけを空にして取り込みを続けます) - 文字コードを判定できないテキストファイル(バイナリファイルと見分けが付かないもの。下の「テキストファイル」)
- 読めない PDF(開くのにパスワードが要るもの、対応していない暗号化の方式(RC4 40・128 ビット、AES-128)のもの、壊れたもの、100MB を超えるもの。下の「PDF ファイル」)
- 透過型のファイル暗号化製品(社内の情報漏えい対策製品など)で暗号化されたファイルのうち、Office がその製品に許可されたアプリでないもの。許可されている場合は更新できます
更新できなかったファイルは、[インデックス管理]の「更新に失敗したファイル」に原因とともに表示されます(トラブルシューティング)。
PDF ファイル¶
.pdf のページごとの文字を検索できます。場所は「ページ N」で表示します。外の部品は使わず、tebunko 自身が読みます。
- 文字を持つ PDF だけ: 画像だけの PDF(スキャンしたもの)は、文字が無いので検索できません(更新できなかったファイルにはならず、文字が 0 件の PDF として扱います)。
- 読めない PDF: 開くのにパスワードが要るもの、対応していない暗号化の方式(RC4 40・128 ビット、AES-128)のもの、壊れているもの、読み方が対応していない圧縮を使うもの、文字の対応表を持たない一部のフォントの文字は、更新できなかったファイルとして原因とともに表示されます。
- 上限: 1 ファイルが 100MB を超えるものと、展開後が極端に大きくなるものは読みません。
- 文字の並び: 段組みや表は、位置ではなくファイルに書かれた順に並びます。行の分かれ方が見た目と違うことがあります。語ごとに位置を決めて並べる PDF では、1 文字だけの短い語(
aなど)の後ろの空白が消えて前後の語がつながることと、幅の広い文字(@など)の後ろに空白が入ることがあります。拡大の指定(cm)で位置を決める PDF は、行が分かれず 1 行になることがあります。 - ページへの移動をしない: 検索結果から開くと、既定のアプリで PDF を開きます。該当のページへは移動しません。
テキストファイル¶
対応するテキストの拡張子¶
文字コードを適切に選べれば読める、次の 75 個の拡張子が対象です(大文字・小文字を区別しない)。設定で対象の拡張子を増やすことはできません。
.txt.csv.tsv.md.log.json.xml- ソースコード:
.c.h.cpp.cc.cxx.hpp.cs.java.kt.kts.go.rs.swift.scala.dart.vb.bas.pas.asm.m.r.jl.hs.ex.exs.erl.clj.groovy.jsx.tsx.vue - 設定・マークアップ・その他:
.sql.yaml.yml.toml.ini.cfg.conf.properties.gradle.cmake.proto.graphql.tf.html.htm.css.scss.less.rst.tex.diff.patch - 開くと実行・登録になるため、[開く]を押すと既定のアプリではなくメモ帳で開くもの(ファイルを開く):
.bat.cmd.ps1.vbs.js.reg.sh.py.rb.pl.php.lua.mjs.psm1.psd1
.exe .com .scr .hta .wsf .wsh .jse .vbe .lnk .url .msi .cpl .inf(実行・登録に使われるファイル)・.ts・.pdf など、上に無い拡張子は対象外です。
文字コードは BOM・UTF-8・Shift_JIS・EUC-JP・ISO-2022-JP(JIS)・BOM の無い UTF-16 を自動で判定します。
- 文字コードの判定の限界: 対象の言語は日本語と英語です(GBK・Big5・EUC-KR は対象外)。判定できないもの・あいまいなものは、化けたまま検索対象にしないよう「文字コードを判定できないテキストファイル」として更新の対象にしません(UTF-32・GBK・Big5・EUC-KR・かなの無い EUC-JP・Shift_JIS の外字(F040〜)を含むもの・バイナリなど)。UTF-8・Shift_JIS・UTF-16 で保存し直すと更新できます。GBK・Big5・EUC-KR の 20 文字前後までの短い文字列は、半角カナの Shift_JIS と見分けが付かず、化けたまま読み込まれることがあります。Shift_JIS の短い文字列(半角カナの一部など)が、たまたま UTF-8 として正しく読めることがあり、その場合は文字化けします。UTF-16・BOM 付き UTF-8 と判定したもの以外は、ファイルのどこかに NUL(0x00)が 1 つでもあれば、バイナリとして更新の対象にしません。
- 末尾が NUL で埋まった大きいファイル: アプリの強制終了などでファイルの途中から NUL(0x00)で埋まったまま残った
.logなどは、先頭 64KB を超えた位置に NUL があっても更新の対象にしません(UTF-16・BOM 付き UTF-8 と判定したものを除く)。 node_modulesやビルドの出力を含むフォルダ: 対象の拡張子が広がったため、これらのフォルダをクロール対象に含めると、更新する件数・インデックス作成にかかる時間・インデックスの大きさが増えます。- 長い行: 1 行が 1,000 文字を超えるとき、検索結果の該当行とプレビューの前後の行は 1,000 文字に切って表示します(
.json.xml.logなどで、1 行に数 MB の内容が入っている場合に、画面の描画が固まるのを防ぐため)。インデックス作成・検索の一致そのものは行を切らずに行うため、ヒットするかどうかや行番号は変わりません。切った行は、検索結果ファイルへの出力・コピーでも同じように切られます。まれに、切った位置がサロゲートペア(絵文字など、2 文字分で 1 文字を表す並び)の途中に当たり、その 1 文字が欠けて見えることがあります。 - 書き込み中のログファイル: ファイルが更新されるたびに内容全体を読み直します(差分だけを読む仕組みはありません)。頻繁に追記される
.logファイルがあると、インデックス作成のたびに読み込みが発生します。 - 行への移動をしない: テキストファイルを開くと、既定のアプリ(
.bat等は固定のパスのメモ帳)でファイル全体を開きます(ファイルを開く)。該当の行へは移動しません。
検索¶
- 1 回の検索で指定できる検索ワードは 1 つ(1 つの文字列)です。複数語の AND・OR 検索には対応していません([正規表現]を有効にすれば OR 条件を記述できます)。
- 表示できる検索結果は 10,000 件までです(設定の画面で、1,000〜100,000 件か制限なしに変えられます。設定)。
- Excel の図形・コメントは、セル番地では探せません(文字の部分だけが検索の対象です)。また、正規表現の行頭
^は、図形・コメントの文字の先頭には一致しません。 - 正規表現による検索で、1 行の照合に 5 秒以上を要する場合は、その照合を打ち切ります。
Excel の数値¶
Excel のセルは、画面上の表示形式で検索します。
- 表示形式により
1,234と表示されているセルは1,234で検索でき、1234では検索できません。 - 表示形式が「標準」で 12 桁以上の数値は指数表記(
4.90123E+12)となるため、元の数値では検索できません。番号などは文字列として入力するか、表示形式を「数値」に設定してください。
Word のページ番号¶
Word の検索結果に表示するページ番号は目安です。インデックス作成時のページ区切りに基づくため、プリンターや表示の設定により、実際のページと異なる場合があります。
検索結果への反映¶
元のファイルの変更は、次回のインデックス作成後に検索結果へ反映されます。それまでは、前回更新した時点の内容で検索します。