PowerCMS Xの「 サイト内全文検索機能(SearchEstraierプラグイン)」は、PowerCMS 6等の「 エンタープライズ検索(PowerSearchプラグイン)」と同様に検索エンジン 「 Hyper Estraier」を採用していますが、PowerCMS 6等のようにインデックス用のファイル(文書ドラフトファイル)を作成する必要はありません。
PowerCMS XのSearchEstraierプラグインでは、検索インデックスへの登録時・洗い替え時にHTMLファイルから文書ドラフトファイルを自動生成しています。そのため、文書のタイトルや本文の位置、文書ドラフトファイルの属性部に登録する内容(メタタグ)はプラグイン設定で指定します。
文書ドラフトファイル生成前(本文の抽出後)にget_draftコールバックが呼ばれますので、データを編集することも可能です。(例えば任意の文字列を置換する等)
{
"label": "SamplePlugin",
"id": "sampleplugin",
"component": "SamplePlugin",
"callbacks": {
"sampleplugin_searchestraier_get_draft": {
"searchestraier": {
"get_draft": {
"component": "SamplePlugin",
"priority": 10,
"method": "get_draft"
}
}
}
class SamplePlugin extends PTPlugin {
public function __construct () {
parent::__construct();
}
public function get_draft( $cb, $app, &$title, &$data, &$image_urls ) {
// Do something
return true;
}
}
また、文書ドラフトファイル生成に利用するテンプレートがpowercmsx/app/plugins/SearchEstraier/tmpl/html_draft.tmpl
にありますので、案件固有のファイルを格納するディレクトリ(例:user_customized_files)にコピーした上でカスタマイズすることも可能です。