PowerCMS X Q&A

PowerCMS Xを用いてWebサイトを構築する際の技術的なヒントや解決策をご紹介します。

SearchEstraierプラグインでは文書ドラフトファイルは作成しなくても良いのですか?

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)にコピーした上でカスタマイズすることも可能です。

関連するQ&A