Apache Tikaを使用したドキュメント処理
SearchWPにはドキュメント処理の組み込みサポートがありますが、代替方法が好ましい場合もあります。一例として、PDF解析(PHPにとってはリソースを大量に消費する可能性のあるジョブです)を目的別に構築されたXpdfのようなバイナリにオフロードすることが挙げられます。
ドキュメントを解析してコンテンツを抽出できるもう1つの人気のあるアプリケーションは、Apache Tikaです。サーバーでTikaが利用可能な場合は、SearchWPにPDFドキュメントの解析に使用するように次のように指示できます。
All hooks should be added to your custom SearchWP Customizations Plugin.
| <?php | |
| // Use Apache Tika to extract PDF content in SearchWP. | |
| add_filter( 'searchwp\parser\pdf', function( $content, $args ) { | |
| // Ensure this path is updated to match your Tika installation path! | |
| $path_to_tika = '/srv/bin/tika-app-1.18.jar'; | |
| // Execute the command. | |
| $cmd = "java -jar {$path_to_tika} -t {$args['file']}"; | |
| @exec( $cmd, $output, $exitCode ); | |
| // If there was a problem, send the output to the debug log. | |
| if ( $exitCode ) { | |
| do_action( 'searchwp\debug\log', 'Error running Tika, exit code: ' . $exitCode ); | |
| } | |
| return $output; | |
| }, 20, 2 ); |
Apache Tikaは非常に有能なアプリケーションであり、必要に応じて追加のドキュメントタイプを解析できます。上記のコードスニペットはTikaを使用してPDFを解析しますが、同様の方法でカスタマイズできる次のフィルターが利用可能です。
Apache Tikaは、Officeドキュメントのサポートも向上している可能性があります。その場合、searchwp\document\contentフィルターを使用して解析されたコンテンツをカスタマイズできます。

