>> HOME >> FC5 MENU >> Namazu (PDF、Excel、PowerPoint、Word)文書を検索させる方法
全文検索システム(Namazu) で、PDF文書(.pdf)、Excel文書(.xls)、PowerPoint文書(.ppt)、Word文書(.doc)の中の文字を検索できるようにします。
全文検索システム(Namazu) のインストール・基本的な設定については『全文検索システム (Namazu)』を参照してください。

前提としては同様に・・・
検索対象のWebコンテンツは /var/www/html/
検索用インデックスファイルの格納場所は /var/lib/namazu/index/www

1. PDF 文書を検索できるようにする
1 ) PDF 文書用のフィルタ xpdf インストール
2 ) PDF 文書用のフィルタ設定ファイル /etc/xpdfrc 編集
3 ) PDF 文書からテキストを抽出してみる
2. Word 文書を検索できるようにする
1 ) Word 文書用のフィルタ wvWare インストール
3. Excel (PowerPoint) 文書を検索できるようにする
1 ) Excel (PowerPoint) 文書用のフィルタ xlHtml インストール
4. Namazu の設定
1 ) mknmz スクリプト設定ファイル の編集
5. 各種フィルタの確認
1 ) インデックスファイルの作成
2 ) 検索の試行
1. PDF 文書を検索できるようにする
1 ) PDF 文書用のフィルタ xpdf インストール
[root@linux ~]# yum -y install xpdf 
Loading "installonlyn" plugin
Setting up Install Process
Setting up repositories
extras                                                               [1/3]
extras                    100% |=========================| 1.1 kB    00:00
updates                                                              [2/3]
updates                   100% |=========================|  951 B    00:00
core                                                                 [3/3]
core                      100% |=========================| 1.1 kB    00:00
Reading repository metadata in from local files
Parsing package install arguments
Resolving Dependencies
--> Populating transaction set with selected packages. Please wait.
---> Downloading header for xpdf to pack into transaction set.
xpdf-3.01-12.1.i386.rpm   100% |=========================|  35 kB    00:00
---> Package xpdf.i386 1:3.01-12.1 set to be updated
--> Running transaction check
--> Processing Dependency: xpdf-utils for package: xpdf
--> Processing Dependency: urw-fonts for package: xpdf
--> Processing Dependency: libXp.so.6 for package: xpdf
--> Processing Dependency: poppler-utils >= 0.5.0-4 for package: xpdf
--> Processing Dependency: libXm.so.4 for package: xpdf
--> Restarting Dependency Resolution with new changes.
--> Populating transaction set with selected packages. Please wait.
---> Downloading header for libXp to pack into transaction set.
libXp-1.0.0-2.2.i386.rpm  100% |=========================| 5.4 kB    00:00
---> Package libXp.i386 0:1.0.0-2.2 set to be updated
---> Downloading header for openmotif to pack into transaction set.
openmotif-2.3.0-0.1.9.3.i 100% |=========================|  16 kB    00:00
---> Package openmotif.i386 0:2.3.0-0.1.9.3 set to be updated
---> Downloading header for urw-fonts to pack into transaction set.
urw-fonts-2.3-6.1.noarch. 100% |=========================|  18 kB    00:00
---> Package urw-fonts.noarch 0:2.3-6.1 set to be updated
---> Downloading header for xpdf-utils to pack into transaction set.
xpdf-utils-3.01-12.1.i386 100% |=========================|  11 kB    00:00
---> Package xpdf-utils.i386 1:3.01-12.1 set to be updated
---> Downloading header for poppler-utils to pack into transaction set.
poppler-utils-0.5.1-2.i38 100% |=========================| 6.1 kB    00:00
---> Package poppler-utils.i386 0:0.5.1-2 set to be updated
--> Running transaction check
--> Processing Dependency: libpoppler.so.1 for package: poppler-utils
--> Processing Dependency: poppler = 0.5.1 for package: poppler-utils
--> Restarting Dependency Resolution with new changes.
--> Populating transaction set with selected packages. Please wait.
---> Downloading header for poppler to pack into transaction set.
poppler-0.5.1-2.i386.rpm  100% |=========================| 5.5 kB    00:00
---> Package poppler.i386 0:0.5.1-2 set to be updated
--> Running transaction check

Dependencies Resolved

=============================================================================
 Package                 Arch       Version          Repository        Size
=============================================================================
Installing:
 xpdf                    i386       1:3.01-12.1      core              2.7 M
Installing for dependencies:
 libXp                   i386       1.0.0-2.2        core               21 k
 openmotif               i386       2.3.0-0.1.9.3    updates           1.5 M
 poppler                 i386       0.5.1-2          core              478 k
 poppler-utils           i386       0.5.1-2          core               68 k
 urw-fonts               noarch     2.3-6.1          core              4.5 M
 xpdf-utils              i386       1:3.01-12.1      core              349 k

Transaction Summary
=============================================================================
Install      7 Package(s)
Update       0 Package(s)
Remove       0 Package(s)
Total download size: 9.6 M
Downloading Packages:
(1/7): libXp-1.0.0-2.2.i3 100% |=========================|  21 kB    00:00
(2/7): openmotif-2.3.0-0. 100% |=========================| 1.5 MB    00:05
(3/7): urw-fonts-2.3-6.1. 100% |=========================| 4.5 MB    00:15
(4/7): xpdf-utils-3.01-12 100% |=========================| 349 kB    00:01
(5/7): xpdf-3.01-12.1.i38 100% |=========================| 2.7 MB    00:09
(6/7): poppler-0.5.1-2.i3 100% |=========================| 478 kB    00:01
(7/7): poppler-utils-0.5. 100% |=========================|  68 kB    00:00
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing: libXp                        ######################### [1/7]
  Installing: openmotif                    ######################### [2/7]
  Installing: poppler                      ######################### [3/7]
  Installing: poppler-utils                ######################### [4/7]
  Installing: xpdf-utils                   ######################### [5/7]
  Installing: urw-fonts                    ######################### [6/7]
  Installing: xpdf                         ######################### [7/7]

Installed: xpdf.i386 1:3.01-12.1
Dependency Installed: libXp.i386 0:1.0.0-2.2 openmotif.i386 0:2.3.0-0.1.9.3 poppler.i386 0:0.5.1-2
poppler-utils.i386 0:0.5.1-2 urw-fonts.noarch 0:2.3-6.1 xpdf-utils.i386 1:3.01-12.1
Complete!
2 ) PDF 文書用のフィルタ設定ファイル /etc/xpdfrc 編集
[root@linux ~]# vi /etc/xpdfrc 

  :
  :
#----- text output control

# Choose a text encoding for copy-and-paste and for pdftotext output.
# The Latin1, ASCII7, and UTF-8 encodings are built into Xpdf.  Other
# encodings are available in the language support packages.

#textEncoding           UTF-8
# 追加
textEncoding           EUC-JP

  :
  :
3 ) PDF 文書からテキストを抽出してみる
PDF 文書からテキストを抽出するには、pdftotext コマンドを使用します。
[root@linux ~]# pdftotext hogehoge.pdf hogehoge.txt 
2. Word 文書を検索できるようにする
1 ) Word 文書用のフィルタ wvWare インストール
[root@linux ~]# yum -y install wv 
Loading "installonlyn" plugin
Setting up Install Process
Setting up repositories
extras                                                               [1/3]
updates                                                              [2/3]
core                                                                 [3/3]
Reading repository metadata in from local files
Parsing package install arguments
Resolving Dependencies
--> Populating transaction set with selected packages. Please wait.
---> Downloading header for wv to pack into transaction set.
wv-1.2.0-3.fc5.i386.rpm   100% |=========================|  53 kB    00:00
---> Package wv.i386 0:1.2.0-3.fc5 set to be updated
--> Running transaction check
--> Processing Dependency: libgsf-1.so.113 for package: wv
--> Restarting Dependency Resolution with new changes.
--> Populating transaction set with selected packages. Please wait.
---> Downloading header for libgsf to pack into transaction set.
libgsf-1.13.3-2.2.1.i386. 100% |=========================| 6.6 kB    00:00
---> Package libgsf.i386 0:1.13.3-2.2.1 set to be updated
--> Running transaction check

Dependencies Resolved

=============================================================================
 Package                 Arch       Version          Repository        Size
=============================================================================
Installing:
 wv                      i386       1.2.0-3.fc5      extras            266 k
Installing for dependencies:
 libgsf                  i386       1.13.3-2.2.1     core              111 k

Transaction Summary
=============================================================================
Install      2 Package(s)
Update       0 Package(s)
Remove       0 Package(s)
Total download size: 377 k
Downloading Packages:
(1/2): wv-1.2.0-3.fc5.i38 100% |=========================| 266 kB    00:00
(2/2): libgsf-1.13.3-2.2. 100% |=========================| 111 kB    00:00
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing: libgsf                       ######################### [1/2]
  Installing: wv                           ######################### [2/2]

Installed: wv.i386 0:1.2.0-3.fc5
Dependency Installed: libgsf.i386 0:1.13.3-2.2.1
Complete!
3. Excel (PowerPoint) 文書を検索できるようにする
1 ) Excel (PowerPoint) 文書用のフィルタ xlHtml インストール
[root@linux ~]# yum -y install xlHtml 
Loading "installonlyn" plugin
Setting up Install Process
Setting up repositories
extras                                                               [1/3]
updates                                                              [2/3]
core                                                                 [3/3]
Reading repository metadata in from local files
Parsing package install arguments
Resolving Dependencies
--> Populating transaction set with selected packages. Please wait.
---> Downloading header for xlhtml to pack into transaction set.
xlhtml-0.5-5.fc5.i386.rpm 100% |=========================| 5.3 kB    00:00
---> Package xlhtml.i386 0:0.5-5.fc5 set to be updated
--> Running transaction check

Dependencies Resolved

=============================================================================
 Package                 Arch       Version          Repository        Size
=============================================================================
Installing:
 xlhtml                  i386       0.5-5.fc5        extras             68 k

Transaction Summary
=============================================================================
Install      1 Package(s)
Update       0 Package(s)
Remove       0 Package(s)
Total download size: 68 k
Downloading Packages:
(1/1): xlhtml-0.5-5.fc5.i 100% |=========================|  68 kB    00:00
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing: xlhtml                       ######################### [1/1]

Installed: xlhtml.i386 0:0.5-5.fc5
Complete!
4. Namazu の設定
1 ) mknmz スクリプト設定ファイル の編集
mknmz スクリプトは、検索を高速化する "インデックスファイル" を作成するコマンドです。
検索対象に PDF文書(.pdf)、Excel文書(.xls)、PowerPoint文書(.ppt)、Word文書(.doc) を追加します。
[root@linux ~]# vi /etc/namazu/mknmzrc 

  :
  :
#
# This pattern specifies file names which will be targeted.
# NOTE: It can be specified by --allow=regex option.
#       Do NOT use `$' or `^' anchors.
#       Case-insensitive.
#
# $ALLOW_FILE = ".*\\.(?:$HTML_SUFFIX)|.*\\.txt" . # HTML, plain text
#               "|.*\\.gz|.*\\.Z|.*\\.bz2" .       # Compressed files
#               "|.*\\.pdf|.*\\.ps" .              # PDF, PostScript
#               "|.*\\.tex|.*\\.dvi" .             # TeX, DVI
#               "|.*\\.rpm|.*\\.deb" .             # RPM, DEB
#               "|.*\\.doc|.*\\.xls|.*\\.pp[st]" . # Word, Excel, PowerPoint
#                 "|.*\\.vs[dst]|.*\\.v[dst]x" .     # Visio
#               "|.*\\.j[sabf]w|.*\\.jtd" .        # Ichitaro 4, 5, 6, 7, 8
#               "|.*\\.sx[widc]" .                 # OpenOffice Writer,Calc,Impress,Draw
#               "|.*\\.od[tspg]" .                 # OpenOffice2.0
#               "|.*\\.rtf" .                      # Rich Text Format
#               "|.*\\.hdml|.*\\.mht" .            # HDML MHTML
#               "|.*\\.mp3" .                      # MP3
#               "|.*\\.gnumeric" .                 # Gnumeric
#               "|.*\\.kwd|.*\\.ksp" .             # KWord, KSpread
#               "|.*\\.kpr|.*\\.flw" .             # KPresenter, Kivio
#               "|\\d+|[-\\w]+\\.[1-9n]";          # Mail/News, man
# 変更( "|.*\\.doc|.*\\.xls|.*\\.pp[st]|.*\\.pdf" を追加 )
$ALLOW_FILE = ".*\\.(?:$HTML_SUFFIX)|.*\\.doc|.*\\.xls|.*\\.pp[st]|.*\\.pdf";

  :
  :
5. 各種フィルタの確認
PDF文書(.pdf)、Excel文書(.xls)、PowerPoint文書(.ppt)、Word文書(.doc) をそれぞれ作成し、Namazu の検索対象ディレクトリ(/var/www/html/)に置きます。
1 ) インデックスファイルの作成
[root@linux ~]# mknmz /var/www/html -O /var/lib/namazu/index/www -K 
検索対象のファイルを調べています...
4個のファイルがインデックス作成の対象として見つかりました
1/4 - /var/www/html/excel.xls [application/excel]              # Excel文書のインデックスができている
2/4 - /var/www/html/pdf-file.pdf [application/pdf]             # PDF文書のインデックスができている
3/4 - /var/www/html/powerpoint.ppt [application/powerpoint]    # PowerPoint文書のインデックスができている
4/4 - /var/www/html/word.doc [application/msword]              # Word文書のインデックスができている
インデックスを書き出しています...
[追加]
日付:                Sat Jul 15 02:47:07 2006
追加された文書の数:  4
サイズ (bytes):      362,510
合計の文書数:        5
追加キーワード数:    1
合計キーワード数:    3,202
わかち書き:          module_kakasi -ieuc -oeuc -w
経過時間 (秒):       3
ファイル/秒:         1.33
システム:            linux
Perl:                5.008008

Namazu:              2.0.15
2 ) 検索の試行
[root@linux ~]# namazu 日本語 /var/lib/namazu/index/www 
検索結果

参考ヒット数:  [ 日本語: 5 ]

検索式にマッチする 5 個の文書が見つかりました。

1. Red Hat Enterprise Linux ES (v.4 for EM64T) Update 1 (スコア: 4)
著者: Linuxソフトウェア開発統括部
日付: Thu, 20 Oct 2005 22:28:26 +0900
TEST TEST 日本語全文検索システム なまず namazu 
http://mountainbigroad.jp/pdf-file.pdf (315,406 bytes)




2. powerpoint.ppt (スコア: 2)
著者: 不明
日付: Sat, 15 Jul 2006 02:37:58 +0900
TEST TEST 日本語全文検索システム なまず namazu Created with pptHtml
http://mountainbigroad.jp/powerpoint.ppt (9,216 bytes)




3. excel.xls (スコア: 2)
著者: 不明
日付: Sat, 15 Jul 2006 02:33:01 +0900
Sheet1 TEST 日本語全文検索システム なまず namazu
http://mountainbigroad.jp/excel.xls (13,824 bytes)




4. word.doc (スコア: 2)
著者: 不明
日付: Sat, 15 Jul 2006 02:32:34 +0900
TEST 日本語全文検索システム なまず namazu
http://mountainbigroad.jp/word.doc (24,064 bytes)




5. TEST (スコア: 2)
著者: 不明
日付: Sat, 15 Jul 2006 01:17:57 +0900
TEST 日本語全文検索システム なまず namazu
http://mountainbigroad.jp/index.html (254 bytes)




現在のリスト: 1 - 5