検索の絞り込み

このページでは、ユーザーが絞り込みラベルを使用して検索クエリを絞り込めるようにする方法を説明します。検索エンジンのラベルとは異なり、絞り込みラベルはユーザーに表示され、検索結果ページの上部に表示されます。

  1. 概要
  2. 絞り込みラベルの作成
  3. ラベルによるサイトのタグ付け
  4. 表示される絞り込みラベルの数の制御

概要

検索エンジンの結果セットを構成してランキングを調整した後でも、ユーザーは範囲が広すぎるクエリを入力する場合があります。たとえば、ユーザーが健康状態を検索しても、探している情報の種類は明確ではありません。症状、治療、リスク要因に関する情報を探しているのでしょうかただし、絞り込み(検索結果のカテゴリ)を選択できる場合は、検索を絞り込むと、回答にすばやくたどり着けます。

絞り込みのリンクが
表示された検索結果ページ

絞り込みとは、サイトを分類するためにサイトに適用するラベルです。作成した絞り込みラベルは、検索結果ページの上部にリンクとして表示されます。ユーザーが絞り込みリンクのいずれかをクリックすると、絞り込みラベルがタグ付けされたサイトが、ラベルの定義に応じて、排他的に検索されるか、他の結果より上位に昇格されます。ユーザーのクエリに検索キーワードを追加して、より関連性の高い結果を取得したり、ユーザーを別のページにリダイレクトしたりすることもできます。

トップへ戻る

絞り込みラベルの作成

コントロール パネルの [絞り込み] タブでは、絞り込みラベルを作成してサイトにタグを付けることができますが、 プログラム可能検索の XML アノテーション ファイルを使用すると、ランキングをより詳細に制御できます。検索エンジンのラベルと同様に、コンテキスト ファイルで絞り込みラベルを定義し、アノテーション ファイルでサイトに適用します。

以下の例に示すように、絞り込みラベルは、Context セクション内で Facet 要素を使用して定義されます。

<CustomSearchEngine>
  <Title>Universities</Title>
    <Context>
      <Facet>
        <FacetItem title="Lectures">
           <Label name="lectures" mode="BOOST" weight="0.8">
              <Rewrite>lecture OR lectures</Rewrite>
           </Label>
        </FacetItem>
      </Facet>
      <Facet>
        <FacetItem title="Assignments">
          <Label name="assignments" mode="BOOST" weight="0.8">
            <Rewrite>homework OR assignment OR assignments</Rewrite>
          </Label>
        </FacetItem>
     </Facet>
     <Facet>
       <FacetItem title="Reference">
         <Label name="reference" mode="FILTER">
         </Label>
       </FacetItem>
     </Facet>
     <Facet>
        <FacetItem title="Papers">
          <Label name="papers" mode="FILTER"/>
          <Redirect url="http://scholar.google.com/scholar?q=$q"/>
        </FacetItem>
      </Facet>
      <BackgroundLabels>
        <Label name="_cse_omuauf_lfve" mode="FILTER"/>
        <Label name="_cse_exclude_omuauf_lfve" mode="ELIMINATE"/>
      </BackgroundLabels>
    </Context>
  </CustomSearchEngine>

Facet 要素の構造は次のとおりです。

Facet 要素には、最大 4 つの FacetItem 子要素を含めることができます。絞り込みラベルは必要なだけ作成できます。また、検索結果ページに表示するラベルの数 を指定することもできます。

トップへ戻る

例: 絞り込みラベル

基本的な絞り込みラベルは次のようになります。

<Facet>
  <FacetItem title="Lectures">
    <Label name="lectures" mode="BOOST" weight="0.8"/></Label>
  </FacetItem>
</Facet>

図 3: サンプルコードは、ラベル付きの検索結果ページを生成します。

[講義] という絞り込みリンクを含む検索結果ページ

トップへ戻る

絞り込みラベルの要素

Facet の子要素は次のとおりです。

元素 属性 説明
FacetItem title 結果ページの上部に表示される絞り込みリンク。

リンクのタイトル。上記の例では、結果ページの上部にある「講義」リンクです。

タイトルはわかりやすく、できるだけ短くします。特に検索結果ページに絞り込みリンクが多数ある場合は、スペースを節約するために絞り込みリンクが切り捨てられる場合があります。

また、ユーザーのクエリを絞り込みリンクとして表示する $q という用語を使用することもできます。たとえば、ユーザーが「ベーコン」を検索した場合、絞り込みリンクも「ベーコン」になります。

Label name 絞り込みラベルの名前。アノテーション ファイルでサイトにタグを付ける際に、この名前を使用します。

また、プログラム可能検索エンジンでは、ユーザーが絞り込みリンクをクリックすると、そのクエリにラベル名が追加されます。[概要] セクションを見ると、サンプルの検索結果ページには「pimple more:condition_treatment」という検索ボックスが表示されています。「more:condition_treatment」の部分はラベルの使用を示し、「condition_treatment」は Label 要素の name 属性の値です。

ラベルのわかりやすい名前。アノテーション ファイルを見ると、コンテキスト ファイルを参照しなくても、ラベルの目的を識別できると便利です。

次のような命名規則に従う必要があります。

  • 小文字のみを使用してください。
  • 句読点と接続詞(「and」、「/」、「or」など)はアンダースコア(_)に置き換えます。たとえば、「警告とリコール」というフレーズは、「warnings_recalls」と「tests/procedures」、「tests_procedures」という形式にする必要があります。
  • 名前は短くしてください。
mode 検索エンジンのラベルと絞り込みラベルのモードも同じように機能します。

絞り込みの 3 つのタイプ(ブースト、フィルタ、除去)をすべて同じ検索エンジン内で作成できます。

重み付けの仕組みについて詳しくは、検索結果のランキングのページをご覧ください。

各ラベルに mode 値を指定します。
  • BOOST- ユーザーが絞り込みリンクをクリックすると、ラベルでタグ付けされたサイトが、ラベルのない他の検索結果よりも優先されます。
  • FILTER- ユーザーが絞り込みリンクをクリックすると、このラベルでタグ付けされたサイトのみが表示されます。その他のサイトはすべて除外されます。
  • ELIMINATE - ユーザーが絞り込みリンクをクリックすると、このラベルでタグ付けされたサイトが完全に除外されます。 このようなラベルには重みは必要ありません。

    絞り込みの排除は、プログラム可能検索エンジンに対して、そのラベルでタグ付けされた検索結果以外に関連する検索結果を表示するよう指示する場合に、非常に便利です。たとえば、ベジタリアンのユーザーが料理のレシピを検索したときに、肉関連のサイトを除外できます。

  • 絞り込みリンクのタイトルはわかりやすくします。上記の例では、「ベジタリアン」や「肉を削除」などが適切なタイトルです。
weight 検索エンジンのラベルと絞り込みラベルの重み付けは同じように機能します。重み付けの仕組みについて詳しくは、検索結果のランキングをご覧ください。 ブーストラベルとフィルタラベルのみ-1.0+ 1.0 の任意の値。値を定義しない場合、ラベルは暗黙的に +0.7 の値を持ちます。ラベルにはさまざまな重み付けが可能ですが、絞り込み結果を促進するために高い重み付けを適用することをおすすめします。

検索結果を絞り込み、特定のサイトのみを表示する場合は、+1.0 に近いウェイトを使用します。

フィルタラベルで負の重みを使用すると、結果が空になることがあります。フィルタラベルを使用すると、検索の対象となるサイトの数が制限されます。また、重み付けが -1.0 の場合、それらのサイトはすべて除外されます。絞り込みリンクが空で結果が表示されると、ユーザーが混乱する可能性があります。

トップへ戻る

ラベルによるサイトのタグ付け

サイトには絞り込みラベルをタグ付けできます。各アノテーションには複数のラベルを設定できます。つまり、同じサイトを他の検索エンジンでも使用したり、異なるランク付けを行ったりできます。検索エンジンのラベルを調整するためにアノテーションに適用するスコアは、絞り込みラベルにも適用されます。

XML アノテーション

XML 形式のラベルを使用してサイトにタグを設定する方法は、以下のとおりです。

<Annotations>
  <Annotation about="webcast.berkeley.edu/*" score="1">
    <Label name="university_boost_highest"/>
    <Label name="lectures"/>
  </Annotation>

  <Annotation about="www.youtube.com/ucberkeley/*" score="1">
    <Label name="university_boost_highest"/>
    <Label name="videos_boost_mid"/>
    <Label name="lectures"/>
  </Annotation>
</Annotations>

トップへ戻る

ユーザーをサポートするその他の方法

絞り込みリンクは、検索結果を絞り込むだけでなく、より関連性の高い検索結果をユーザーに提供するためにも使用できます。ユーザーのクエリに検索語句を追加したり、別の検索エンジンやウェブサイトにユーザーをリダイレクトしたりすることが可能です。

検索クエリの追加

ユーザーのクエリに有益な検索キーワードを追加することで、ユーザーを支援したい場合は、Rewrite 要素を使用できます。この要素は、ユーザーが絞り込みリンクをクリックすると、ユーザーのクエリに検索キーワードを追加します。Rewrite 要素は最大 100 文字で、すべて小文字にする必要があります。唯一の例外は、OR などの大文字の検索演算子です。検索演算子について詳しくは、高度な検索を簡単に行うをご覧ください。

次の例は、Rewrite の使用方法を示しています。

<Facet>
   <FacetItem title="Homework">
     <Label name="assignments" mode="BOOST">
       <Rewrite>homework OR assignment OR assignments</Rewrite>
     </Label>
   </FacetItem>
</Facet>     

この例は、「宿題」という絞り込みリンクをクリックするユーザーをサポートする方法を示しています。ユーザーが入力した検索語句に「宿題」、「課題」、「課題」という単語が追加されます。

トップへ戻る

表示される絞り込みラベルの数の制御

絞り込みを定義している場合、プログラム可能検索エンジンは検索結果の上部に絞り込みラベルを表示します。すべての絞り込みラベルを表示するか、一部のラベルのみを表示するかを選択できます。

絞り込みラベルのサブセットのみを表示する場合、プログラム可能検索エンジンは、検索結果の数が最も多い絞り込みラベルを表示します。たとえば、「HTML」、「CSS」、「JavaScript」という 3 つの絞り込みラベルがあり、検索エンジンでは 2 つのみを表示するよう設定している場合、プログラム可能検索エンジンは、特定のユーザークエリに対する結果の件数が最も多い 2 つの絞り込みラベルを表示します。

つまり、表示される絞り込みラベルの数は一定ですが、絞り込みラベル自体はユーザーのクエリに応じて変化します。

XML 定義で絞り込みラベルの数を設定するには、コンテキスト定義の CustomSearchEngine タグに top_refinements 属性を追加します。

<CustomSearchEngine top_refinements="n">

</CustomSearchEngine>

ここで、n は表示する絞り込みの数です。

数値を 0 に設定すると、検索結果に絞り込みラベルは表示されません。コンテキスト定義で設定を行わないと、ユーザークエリに対して定義したすべての絞り込みラベルが検索エンジンに表示されます。ラベルの検索結果は関係ありません。

コントロール パネルの [ 絞り込み] ページで、絞り込みラベルの数を設定することもできます。

トップへ戻る