トップ回答者
Windows Searchにおける.docと.docxでの全文検索結果の違いについて

質問
-
初めてお世話になります。わかりづらい点などあるかもしれませんが、どうぞよろしくお願いいたします。
Wordファイルの拡張子の違いによって全文検索の結果に違いが見られたため、その理由と対処方法があれば教えていただきたく、よろしくお願いいたします。
例えば「2008年」とWordファイル内に記載して拡張子「doc」と「docx」でそれぞれ保存をします。その2ファイルを含むフォルダ上で「2008年」というキーワードで検索をするとdocは検索できるのにdocxは検索できません。
質問: 上記ファイルの場合、「2008」というワードで検索するとdocとdocx両方が検索できますが、「2008年」というワードで検索するとdocしか検索されません。(docx内には2008年という記載があるにも関わらず。) 検索キーワードによって、docとdocxの検索結果に差異が出る理由を知りたいです。
以上 よろしくおねがいします。
回答
-
ファイル形式が大幅に異なるので、iFilterも別なのでしょう。しかし、文字列から語句に分解するやり方は変わらないでしょう。iFilterごとに違うと問題でしょう。共通化されているのでは。そうでなくても、doc用のソースを流用してdocx用を作るでしょうから、変わらないでしょう。違いはテキストの格納単位にあるのでは、と想像。docはパラグラフ単位。docxはパラグラフ単位の中に更に小さい単位(英数字、日本語は別単位に)で。「文字列から語句に分解する」処理に渡す単位が、docがパラグラフ単位でdocxがもっと小さい単位。と想像ですけど。
想像の上での想像ですけど、docxもパラグラフ単位に「文字列から語句に分解する」処理に渡すべきでしょう。障害として報告して、修正するようMSに要求してみたら。
- 回答としてマーク yukiharumi 2014年7月9日 6:02
すべての返信
-
yukiharumi さま よろしく。
ファイルの中での保存形態が、.doc はバイナリ(ソフト独自)、.docx は XML の圧縮(ZIP 方式)と異なっています。
.docx の XML については以下をご覧下さい。
Office Open XML http://ja.wikipedia.org/wiki/Office_Open_XML
この時、文字をエンコードといって、数字や英数記号に変えて保管しています。(イメージです、不正確な表現ですが...)
検索で指示・指示する文字も、その裏側では、同じ作業を経ます。
2008 の様な半角文字は、どのエンコードでも同じ結果を得られますが、
全角文字はエンコードによって、所謂、文字化けをしたりします。
エンコードが同じなら保管している文字も同じですが、これが異なると別の文字に解釈されてしまう訳です。
言い換えれば、検索欄で指定した 2008年 の文字の解釈は、
.doc ファイルの中の 2008年 の文字解釈と一緒で、
.docx ファイルの中の 2008年 は,半角部分の 2008 は同じでも、年 の部分(漢字)を含めると 別の解釈になっている という事で。
こんな説明で分りますか。対処方法を忘れていました。追記します。
双方のエンコード形式が異なる前提で書きます。
もし、可能なら、双方のエンコード形式を同じにして、上書き保存なさっては如何ですか。
- 編集済み ShiroYuki_Mot 2014年7月4日 8:03 追記
-
大変わかりやすい説明をありがとうございます。「2008」と「2008年」で検索結果に違いが出る意味が少しわかってきました。
対処方法についてもう少し教えていただけますでしょうか。「双方のエンコード形式を同じにして、上書き保存」と記載頂きましたが、Wordでdocとdocxのファイル形式はそのままに、エンコード形式を同じにする、というやり方について色々調べてみたのですがよくわかりませんでした。
それぞれのWordファイルのエンコード形式がどうなっているかを確認し、かつエンコード形式を明に選択する手順について、もしご存知でしたらお教え願います。(ファイル形式はdoc、docxのままの利用を想定しています。)
-
ご対応ありがとうございます。「2008」の検索結果で概要カラムと自動要約カラムを表示させるとdoc、docxの概要カラムと自動要約カラムにすべて同じ内容が表示されます。内容はコンテンツの文字列で、「2008」部分の文字背景色が反転した状態です。
一方「2008年」の検索結果ですとdocのみ表示され、その概要カラムは空の状態、自動要約カラムは「2008年」部分の文字背景が反転した状態で表示されます。
画像がアップできず申し訳ありません。文章での記載でわかりづらいかもしれませんが、ここから何かわかることがありましたら、引き続きよろしくお願いいたします。
-
yukiharumi さま 拝見しました。
作業の前に、以下の確認と前作業を行って下さい。
ふたつのファイルが別フォルダにある場合、各々のフォルダに対して同じ設定になっているか否か、と
一応、インデックス再構築して見て下さい。
インデックス化される場所の追加や削除はどうすればいいですか
インデックス化されたフォルダーのファイルが検索結果に表示されないのはなぜですか
http://windows.microsoft.com/ja-jp/windows/improve-windows-searches-using-index-faq#1TC=windows-7
インデックス再構築
http://windows.microsoft.com/ja-jp/windows7/change-advanced-indexing-options
これでも、駄目な場合、先に書いた様に、エンコードの変更を考えます。
最も確実なのは、全て、フラットテキスト形態の .txt に変えて、別途、別フォルダに保存です。
例: Bunsyo.doc > Bunsyo.doc.txt Bunsyo.docx > Bunsyo.docx.txt
この場合、元文書の外字や特殊記述が検索不可になる恐れがありますが、word で変換時に確認が出来ると思います。
名前をつけて保存 で、ファイルの種類:書式なし、日本語(Shift-JIS) 辺りが一般的でしょうか。
ファイルを保存するときにエンコード方法を選択する
http://office.microsoft.com/ja-jp/outlook-help/HA010121249.aspx
上書き保存についてですが、実は、私、word 使ったことの無い珍しい口です。
色々、検索して見ると、利用フォントに応じてエンコードを変えている節もありますが、
基本は Unicode とあります。(上のリンク参照)
メイリオは Win7 既定のフォントですから Unicode、逆に Shift-JIS では MS Gothic と表記されていますので、フォントをこれに変えてみたら変わりますか。
(試験的に別ファイルで保存の上、検索を試して見て下さい。)尚、参考までに、元のふたつのファイルではフォントの指定はどうなっていますか。
-
ShiroYuki_Mot様 引き続きありがとうございます。
docとdocxについては同じフォルダに格納されているため設定に差異は無いと考えます。またインデックスの再構築につきましては既にトライしてみましたが結果は同じでした。
またエンコードについてですが、コメント頂きました通り 基本はUnicodeでこれもdocとdocxで違いは無いのかな、と私自身も考えておりました。元ファイル2つのフォントはMS明朝です。これについてメイリオやMS Gothic等いくつかフォントを変えたファイルで試してみたのですが、結果に違いはありませんでした。
インデックス並びにエンコードについていろいろ調べてくださり、ありがとうございます。
-
ファイル形式が大幅に異なるので、iFilterも別なのでしょう。しかし、文字列から語句に分解するやり方は変わらないでしょう。iFilterごとに違うと問題でしょう。共通化されているのでは。そうでなくても、doc用のソースを流用してdocx用を作るでしょうから、変わらないでしょう。違いはテキストの格納単位にあるのでは、と想像。docはパラグラフ単位。docxはパラグラフ単位の中に更に小さい単位(英数字、日本語は別単位に)で。「文字列から語句に分解する」処理に渡す単位が、docがパラグラフ単位でdocxがもっと小さい単位。と想像ですけど。
想像の上での想像ですけど、docxもパラグラフ単位に「文字列から語句に分解する」処理に渡すべきでしょう。障害として報告して、修正するようMSに要求してみたら。
- 回答としてマーク yukiharumi 2014年7月9日 6:02