今回は、検索結果の改善などに利用することができる「ドキュメントブースト機能」「関連コンテンツ機能」「関連クエリー機能」の設定方法について説明します。なお、以降の解説ではFess 13.13.1を利用しています。
ドキュメントブースト
ドキュメントブースト機能では、検索語に関わらず、指定した条件に一致するドキュメントの優先度を上げ、検索結果の上位に表示させることができます。
では、重み付けするサイトを指定して、ブースト値を指定してみましょう。重み付けするサイトのクロール設定は、別途作成しておく必要があります。
管理画面にログインして、左メニュー「クロール」→「ドキュメントブースト」をクリックします。画面右上の「新規作成」をクリックして、次のように入力します。
各項目の説明は以下の通りです。
項目 | 説明 |
---|---|
条件 | 上位に表示したいドキュメントを指定する条件 |
ブースト値 | ドキュメントの重み付けの値 |
ソート順 | ドキュメントブーストのソート順 |
ドキュメントブーストの重み付けの値は、インデックス作成時に反映されます。インデックス作成前であれば、クロールジョブを実行してください。インデックス作成済みの場合は、差分クロールを無効にしてクロールジョブを開始するか、以下の方法でインデックスを再作成してください。
インデックスの再作成は、全てのドキュメントをいったん削除して、クロールを実施します。再作成する場合は、以下の手順を実施します。
- 管理画面にログインして、左上の検索フォームに「*:*」を入力してドキュメントを全件検索し、検索結果の下にある「このクエリですべてを削除」をクリックして全てのドキュメントを削除する
- 左メニューの「システム」→「スケジューラ」で実行するジョブを選択して、「今すぐ開始」をクリックする
クロールジョブの実行が完了したら、検索画面で検索してみます。「*:*」で全件検索して、ドキュメントブーストで指定したURLが検索結果の上位に表示されていることを確認します。
関連コンテンツ
関連コンテンツ機能は、検索語と関連コンテンツで設定した単語が一致した場合、指定したコンテンツを検索結果の上部に表示させるというものです。特定の検索語で検索された際に、お知らせや広告などのコンテンツを表示したい場合に利用することができます。
「n2sm」という検索語で検索したときに、n2smのサイトのリンクを表示させる設定をしてみましょう。
管理画面にログインして、左メニュー「クロール」→「関連コンテンツ」をクリックします。 画面右上の「新規作成」をクリックして、以下を入力します。
各項目の説明は以下の通りです。
項目 | 説明 |
---|---|
検索語 | 関連コンテンツを表示させる検索語 |
コンテンツ | 検索結果の上部に表示させるコンテンツ |
表示順序 | 管理画面上の表示順序(小さい値が上位) |
仮想ホスト | 仮想ホストのホスト名 |
では、検索画面で検索してみましょう。登録した検索語で検索すると、以下のように指定したコンテンツが表示されるはずです。
関連クエリー
関連クエリー機能は、特定の検索語に関連するクエリーを追加して検索結果を取得する機能です。例えば、「USA」を検索したときに「アメリカ」が含まれるような検索結果にしたいときなどに利用できます。登録した関連クエリーは、検索時に検索結果の上部に表示されます。
では、「Fess」という検索語を入れたとき、関連するクエリーとして「n2sm」を表示させる設定をしてみましょう。
管理画面にログインして、管理画面左メニュー「クロール」→「関連クエリー」をクリックします。画面右上の「新規作成」をクリックして、次のように入力します。
各項目の説明は以下の通りです。
項目 | 説明 |
---|---|
検索語 | 関連クエリーを表示させる検索語 |
クエリー | 検索条件に追加する関連クエリー |
仮想ホスト | 仮想ホストのホスト名 |
では、検索画面で検索してみましょう。登録した検索語で検索すると、検索結果には関連クエリーの結果も含まれ、関連クエリーは検索結果の上部に関連ワードとして表示されます。
関連ワードの「n2sm」のリンクをクリックすると、「n2sm」を検索語とした検索結果が表示されます。
* * *
ドキュメントブーストは本連載の第38回で紹介したキーマッチとは違い、検索語に関わらず、指定したサイトに対して重み付けができます。関連ドキュメントは検索語に関連するコンテンツを表示することができ、関連クエリーは関連する検索条件を追加した検索結果を表示することができます。これらを利用することで、検索結果の調整ができるようになるので、ぜひ利用してみてください。
著者紹介
菅谷 信介 (Shinsuke Sugaya)
Apache PredictionIOにて、コミッター兼PMCとして活動。また、自身でもCodeLibs Projectを立ち上げ、オープンソースの全文検索サーバFessなどの開発に従事。
本連載の内容やFessに関するご質問は公式フォーラムまで。