検索結果のフィルタリングと並べ替え

概要

ユーザーがサイトの適切なページにたどり着けるように、プログラム可能検索エンジンには構造化検索演算子が用意されています。この演算子を使用すると、ページ内の構造化データやサイトの画像に関連付けられたメタデータに基づいて、検索結果のサブセットをドリルダウンできます。

画像検索では、ページ上の構造化データと、サイトのクロール時に検出された画像メタデータの両方を利用します。ウェブマスターの皆様には、Google の画像公開に関するガイドラインを十分に理解されることをおすすめします。

  1. ウェブ検索 <ph type="x-smartling-placeholder">
  2. 画像検索 <ph type="x-smartling-placeholder">
  3. プログラム可能検索要素内の構造化検索

ウェブ検索

自由形式の単語のシーケンスであるテキストとは異なり、構造化データは 一連の属性を持つオブジェクトの集合に論理的に編成される。 プログラム可能検索エンジンは、さまざまな構造化データを抽出して、構造化データと 日付、著者、評価、価格などの検索演算子ここが カスタム スニペットで使用できるものと同じデータがあります。イン また、プログラム可能検索エンジンは、次のいずれかの形式の構造化データをサポートしています。

  • PageMap: PageMap は構造化データを DataObject として明示的に表現する XML ブロックとしてエンコードされ、属性と値を含む ウェブページですプログラム可能検索エンジンにより、すべての正しい形式の PageMap データが作成される 構造化検索演算子で利用可能です。また、kubectl の「get」コマンドや カスタム スニペット
  • meta タグ: 選択したコンテンツを Google が meta から抽出します <meta name="NAME" content="VALUE"> 形式のタグ。フォームの meta タグ <meta name="pubdate" content="20100101"> は、 次の形式の検索演算子で使用: &sort=metatags-pubdate
  • ページ日付: Google は URL、タイトル、署名日に基づいてページの日付を推定します 使用できます。この日付は、並べ替え演算子「 特殊な構造化データタイプ date&sort=date など)。
  • リッチ スニペット データ: Google では、次のような公開標準からデータのサブセットも抽出しています。 <ph type="x-smartling-placeholder">: プログラム可能検索エンジンの構造化データ演算子で使用できます。 たとえば、Microformat でマークアップされたページを並べ替えるには、 評価に基づいて、hrecipe &sort=recipe-ratingstars

詳しくは、構造化データの提供についての説明をご覧ください。

ページに構造化データが含まれている場合は、プログラム可能検索エンジンの 構造化検索演算子を使用して、検索対象を特定のフィールドに限定 データ値、数値で厳密に並べ替える、特定の値にバイアスをかける 特定の数値範囲に制限することもできます

プログラム可能検索エンジンは、構造化データに対して以下の検索演算子をサポートしています。

トップへ戻る

属性でフィルタ

属性によるフィルタでは、次の 3 種類の結果を選択できます。

  • レビューなど、特定の DataObject が添付された結果
  • 特定のフィールドを持つ DataObject の結果。 レビューが表示されます
  • フィールドの特定の値( 5 つ星のレビューです

属性でフィルタするには、 more:pagemap:TYPE-NAME:VALUE 演算子を検索クエリに追加します。これにより、検索結果が その型、名前、値と完全に一致する構造化データがあることを確認します。(プログラム可能検索エンジン) 1 ページにつき最大 200 個の属性が変換され、 その後に JSON-LD、microformat、metatag、RDFa、microdata が続きます。属性は次の値にしないでください 128 文字以下にする必要があります。 一致対象となる VALUE を省略すると、この演算子を一般化できます。 名前付きフィールドのすべてのインスタンス。-NAME:VALUE は省略できます。 一致します。

構造化データから完全な演算子がどのように構成されるかを確認するには、 前に使用した例を思い出してください。

[halloween more:pagemap:document-author:lisamorton]

more:pagemap:document-author:lisamorton の分類 詳しく見ていきましょう。 more: 演算子は、プログラム可能検索エンジンが使用する 絞り込みラベルの場合は、絞り込みの pagemap: 部分。 は、インデックス登録された PageMap の特定の属性で検索結果を絞り込むよう指示します。 演算子の残りの要素(document-authorlisamorton - 制限の対象にするコンテンツを指定します。 必要がありますサンプルの PageMap を思い出してください。

<PageMap>
  <DataObject type="document">
    <Attribute name="title">The Five Scariest Traditional Halloween Stories</Attribute>
    <Attribute name="author">lisamorton</Attribute>
  </DataObject>
</PageMap>

演算子の document-author: 修飾子で、 この DataObject では、タイプが document の DataObject であり、属性名が author となっています。 この構造化データキーの後に、値 lisamorton が続きます。 返される Attribute の値と完全に一致する必要があります。 制限を含む検索を行えます。

more:p:document-author:lisamorton

属性でフィルタする場合は、より複雑なフィルタ(より簡潔なもの)を作成できます。 コマンドなど)を簡潔にまとめたものです。たとえば、次のように追加します。 URL の PageMap:

    <pagemap>
      <DataObject type="document">
        <Attribute name="keywords">horror</Attribute>
        <Attribute name="keywords">fiction</Attribute>
        <Attribute name="keywords">Irish</Attribute>
      </DataObject>
    </pagemap>
  </page>

「Irish AND Thursday」というクエリに対する結果を取得するには、次のように記述します。

more:p:document-keywords:irish*fiction

これは more:pagemap:document-keywords:Irish more:pagemap:document-keywords:fiction と同じです。

「Irish AND (フィクション OR horror)」の検索結果を取得するには、次のように記述します。

more:p:document-keywords:irish*fiction,irish*horror

トップへ戻る

ブランチでフィルタ

[ブランチでフィルタ] は [属性でフィルタ] のバリエーションで、 JSON-LD、Microformat、RDFa です。属性によるフィルタのタイプのみ JSON-LD 構造化データでも使用できます。

構造化データにツリーが含まれていないか、ツリーのみ含まれている場合 制限は、属性によるフィルタと同じです。 ただし、子を持つツリーには、以下を含む制限があります。 ルートからリーフノードまでの各ノードの type-name を使用すると、次のようなツリーが生成されます。

  • ルートのタイプは Event です。
  • 子の名前は rating です。
  • その子のタイプは AggregateRating です。
  • 子には、名前が ratingCount、値が 22 の属性があります。
で確認できます。 制限が生成されます。 ブランチに対する more:pagemap:event-rating-aggregaterating-ratingcount:22 評価数で終わります

他の機能との属性またはブランチによるフィルタの使用

この自由記述形式の構文を使用すると、 サイト上のドキュメントに PageMaps を表示同じ構文を使用して、 他のほぼすべてのタイプの構造化データと組み合わせる サポートされており、 ページ予定日。Google Chat では また、これらの more:pagemap: 演算子を <ph type="x-smartling-placeholder"></ph> 絞り込みラベル <ph type="x-smartling-placeholder"></ph> 非表示のクエリ要素 アプリケーションにとって重要な属性で結果をフィルタできます。 エンドユーザーが制限修飾子を直接入力する必要はありません。

検索演算子の一部を省略することもできます。上記の例では PageMap は document 型の DataObject を指定し、 author 型の属性。しかし、サイトのすべてのページが すべてのドキュメントに作成者が特定されるとは限りません。もし more:pagemap:document-author という形式の演算子を使用する。 返される結果には、author 属性を持つすべてのページが含まれます。 document DataObject に指定する必要があります。ただし、 属性同様に、more:pagemap:document は以下を返します。 タイプが document の DataObject である PageMaps を含むすべての結果 その DataObject フィールドが どのフィールドであるかに関係なく

制限用のテキスト値のトークン化

スペース、句読点、特殊文字を含む属性値 ほとんどの場合、別々のトークンに分割されます。たとえば 「Programmable Search Engine@google」の値3 つのトークンに分割されます "custom"、"search"「google」と入力します。これにより、1 つの単語または複数の単語を 大量の単語や句読点のシーケンスに埋め込まれている 説明します。(プログラム可能検索エンジンは文字列ごとに最大 10 個のトークンを抽出するため、 属性値に含まれている単語が 10 語を超えています。一部の単語は制限対象となる場合があります results.) たとえば、次の PageMap には、 プログラム可能検索エンジン:

<PageMap>
  <DataObject type="product">
    <Attribute name="description">Programmable Search Engine provides customized search engines</Attribute>
  </DataObject>
</PageMap>

次の制限では、product-description を含むすべてのページが検索されます。 「search」に関する属性:

[more:pagemap:product-description:search]

テキスト値のトークン化に関するその他のルール:

  • テキスト値は制限用に小文字に変換されます
  • 6 トークンまでの文字列の場合は、文字列全体に対して追加の制限が生成されます。 空白を _ に置き換える(例: please_attend)。
  • ストップワード(「the the」)などの単語に対しては、個別の制限は生成されません。 a ですが、したがって検索の有用性は低くなります。したがって、 text value: "the main point"mainpoint、 と the_main_point がありますが、the の制限は生成されません。
  • テキスト値の最初の 10 単語のみが制限の作成に使用されます。
  • 区切り文字として扱われない句読点文字はアンダースコアに変換されます。 _

複数の制限を使用したトークン化された値のドリルダウン

さらにドリルダウンするには、他の制限を追加します。たとえば 検索エンジンの製品を説明するページのみを取得するには、制限を追加します。

[more:pagemap:product-description:search more:pagemap:product-description:engine]

more:pagemap: 制限の順序は重要ではありません。 トークンが属性値から抽出されて順序付けられていないセットになります。

これらの制限は、 デフォルトでは AND で結合されますただし、これらの Pod を OR 演算子 いずれかの制限に一致する結果を取得できますたとえば、次のような検索が行われています。 検索またはゲームに関するコンテンツに一致します。

[more:pagemap:product-description:search OR more:pagemap:product-description:game]

トークン化の例外として、属性値は URL です。以降 トークンは有用性が低いため、URL からトークンは生成されません。 属性値を指定します。

短いトークンが一緒に見つかることが多い プログラム可能検索エンジンは、それらを組み合わせてスーパートークンを作成する場合があります。たとえば、トークンに 「大統領」「Obama」頻繁に並べて表示される場合、プログラム可能検索エンジンは スーパートークン「president_obama」を作成します。その結果、[more:pagemap:leaders-name:president_obama] [more:pagemap:leaders-name:president AND more:pagemap:leaders-name:obama] と同じ結果が返されます。

句読点に基づくトークン化のもう一つの主要な例外として、 スラッシュ「/」区別されます。属性値 「NUMBER/NUMBER」の形式または「NUMBER/NUMBER/NUMBER」扱われます 単一の連続したトークンとして定義されます。たとえば '3.5/5.0'と「09/23/2006」 単一のトークンとして扱われます。たとえば、 値が「2006/09/23」の属性を検索する場合は、次の制限を使用します。

[more:pagemap:birth-date:2006/09/23]

スラッシュに基づく結合は、スラッシュが スペースなしの数値スラッシュと数字の間にスペースを入れると、 個別のトークンが作成されます。さらに、1 対 1 の 完全に一致している必要があります。Filter by Attribute 演算子は これらの値を分数や日付として解釈しませんプログラム可能検索エンジンの 検索演算子のような、他の構造化検索演算子です。 属性で並べ替え 範囲を制限、解釈する 数値を分数や日付として扱う場合詳しくは、このモジュールの 構造化データを提供: 詳しく見ていきます

トップへ戻る

JSON-LD からの制限

JSON-LD は、構造化データ用の強力な標準形式です。 データは JSON 形式で、 type="application/ld+json" を含む <script> タグ。

以下に、単純な JSON-LD を使用した最小限の HTML を示します。

<script type="application/ld+json">
      {
        "@id": "http://event.example.com/events/presenting-foo",
        "@type": "http://schema.org/AggregateRating",
        "http://schema.org/ratingCount": "22",
        "http://schema.org/ratingValue": "4.4",
        "http://schema.org/itemReviewed": {
          "@type": "http://schema.org/Event",
          "http://schema.org/description": "Please attend.",
          "http://schema.org/name": "Presenting Foo",
          "http://schema.org/startdate": "2022-05-24",
          "http://schema.org/location": "Back room"
        }
      }
</script>

これにより、次の制限が生成されます。

  • more:pagemap:aggregaterating-ratingcount:22
  • more:pagemap:aggregaterating-ratingvalue:4.4
  • more:pagemap:aggregaterating-itemreviewed-event-description:please_attend
  • more:pagemap:aggregaterating-itemreviewed-event-description:please
  • more:pagemap:aggregaterating-itemreviewed-event-description:attend
  • more:pagemap:aggregaterating-itemreviewed-event-name:presenting_foo
  • more:pagemap:aggregaterating-itemreviewed-event-name:presenting
  • more:pagemap:aggregaterating-itemreviewed-event-name:foo
  • more:pagemap:aggregaterating-itemreviewed-event-startdate:2022-05-24
  • more:pagemap:aggregaterating-itemreviewed-event-location:back_room
  • more:pagemap:aggregaterating-itemreviewed-event-location:back
  • more:pagemap:aggregaterating-itemreviewed-event-location:room

JSON-LD では、ルートからパス全体に対する制限のみが生成されます。 ブランチでフィルタするをご覧ください。 ただし、JSON-LD ツリーのルートには、子ノードとしてリーフノードがあり、 結果の制限は、属性制限と同じ形式になります。いくつかの制限は、 上の例では、ルートのリーフノードで構成されており、 (type-name-value)形式(more:pagemap:aggregaterating-ratingcount:22 など)

注: 他の構造化データ形式では、最大 128 バイトの文字列を使用できますが、 JSON-LD では、すべての文字列が約 50 文字で切り捨てられるため、末尾が不自然になります。 という意味になります。単語の長さによっては、生成されるトークンの数が制限される場合があります。 制限より厳格に文字列から取得します。

トップへ戻る

属性で並べ替え

検索を特定の種類の結果に限定するだけでは不十分な場合もあります。 たとえばレストランのレビューを検索する場合 評価したレストランをリストの一番上に表示します。これを達成するには プログラム可能検索エンジンの属性による並べ替え機能を使用して、 構造化データの属性の値に基づく結果の順序付け 並べ替えを有効にするには &sort=TYPE-NAME:DIRECTION URL パラメータに、プログラム可能検索エンジンへのリクエスト URL を追加します。 構造化検索と同様に、属性による並べ替えは構造化データに依存します。 ページ構造化検索とは異なり、並べ替えには フィールドに、数値や日付などの数値の解釈があります。

最もシンプルな形式では、 Data オブジェクト型と 属性名をコピーしてリクエスト URL に追加してください。 &sort=TYPE-NAME。たとえば、 タイプ date としてデータを表すページの日付 sdate という名前の場合は、次の構文を使用します。

https://www.google.com/cse?cx=000525776413497593842:aooj-2z_jjm&q=comic+con&sort=date-sdate

デフォルトでは、降順にハードソートが実行されます。つまり、 検索結果は日付順に並べられ、 (最も大きい数値に変換される)が最初に並べ替えられます。 並べ替え順を昇順に変更するには、 :a を追加します(明示的に追加する場合は :d を 降順を指定します)。たとえば、最も古い結果を最初に表示するには、 次の形式の制限を使用できます。

https://www.google.com/cse?cx=000525776413497593842:aooj-2z_jjm&q=comic+con&sort=date-sdate:a

エンジンから並べ替えられた結果は、 その DataObject と Attribute に対応する各ページの PageMaps に含まれている必要があります。ページ その DataObject 型や解析可能な値がない オブジェクトがあります 属性はハードソートでは表示されません。上記の例では、ページは date-sdate 属性を指定しないと、表示されません。 表示されます。ハードソートを「属性によるバイアス」と組み合わせることはできません。 これらの機能については次のセクションで説明しますが、 属性でフィルタ [範囲に限定]

トップへ戻る

属性によるバイアス

値のない結果を除外したくない場合もあります。 たとえばレバノン料理を検索するとします各種 レバノン料理(最も関連性が高いもの)から ギリシャ語(関連性が最も低い)。この場合は、弱い [強] または [弱い] を バイアスを使用すると、バイアスがかかっていることが 値を含まない結果は除外されません。強整合性の 並べ替え方向の後に 2 つ目の値を追加して、弱バイアスを指定します。 &sort=TYPE-NAME:DIRECTION:STRENGTH, 強いバイアスの場合は :s、または 弱いバイアスの場合は :w(強いバイアスの場合は :h) ただし、デフォルトの :h の追加は任意です)。 たとえば、強いバイアスを追加すると、最適な 評価の高い地中海料理レストラン 地中海料理店(ただし、他よりも上位にならないようにする) レバノン料理店の完全一致

https://www.google.com/cse?cx=12345:example&q=lebanese+restaurant&sort=review-rating:d:s

カンマ演算子を使用して、複数のバイアスを組み合わせることができます。

https://www.google.com/cse?cx=12345:example&q=lebanese+restaurant&sort=review-rating:d:s,review-pricerange:d:w

バイアスの順序は関係ありません。 ただし、強制適用されるため、ハードソートを他のソートと組み合わせることはできません。 厳密な順序付けはありません。リストで最後に指定した並べ替え演算子は、 以前の並べ替えとバイアス演算子をすべてオーバーライドします

トップへ戻る

範囲に制限

ある値の範囲内の結果、または特定の値を上回るまたは下回る結果を含めるには、 範囲制限を使用します範囲制限は、:r によって指定されます。 属性名に追加され、その後に属性名の上限と下限が続き、 属性値: &sort=TYPE-NAME:r:LOWER:UPPER。 たとえば、3 月から 4 月の間に投稿されたレビューのみを含めるようにします。 2009 年の場合は、次の範囲制限を指定できます。

https://www.google.com/cse?cx=12345:example&q=lebanese+restaurant&sort=review-date:r:20090301:20090430

Restrict to Range(範囲限定)演算子では、数値がサポートされます。 日付は浮動小数点数、 ISO 8601 YYYYMMDD(ダッシュなし)。

上限または下限を指定する必要はありません。 たとえば、2009 年より前の日付のみを指定するには、次のように記述します。

https://www.google.com/cse?cx=12345:example&q=lebanese+restaurant&sort=review-date:r::20091231

3 つ星以上の評価のみを含めるには、次のように記述します。

https://www.google.com/cse?cx=12345:example&q=lebanese+restaurant&sort=rating-stars:r:3.0

範囲には指定した範囲が含まれます。また、カンマ演算子と または 1 つ以上のバイアス条件でフィルタできます。備考 範囲制限を並べ替え条件とバイアス条件の両方と組み合わせると、 範囲内の値を持つアイテムのみが並べ替えられます。たとえば 3 つ星以上のアイテムの評価のみで並べ替えるには、次のように記述します。

https://www.google.com/cse?cx=12345:example&q=lebanese+restaurant&sort=rating-stars,rating-stars:r:3.0

ある条件に基づいて並べ替えたり、範囲で制限したりすることもできます。 たとえば、次の月にレビューされたアイテムのみを評価順で並べ替えるには、 10 月の場合は、次のものを使用します。

https://www.google.com/cse?cx=12345:example&q=lebanese+restaurant&sort=rating-stars,review-date:r:20101001:20101031

画像検索

検索エンジンで画像検索を有効にすると、画像の検索結果が別のタブに表示されます。画像検索を有効にするには、プログラム可能検索エンジンのコントロール パネルを使用するか、context.xml ファイルを更新します。

画像検索は、Google がサイトをクロールする際に検出した情報を使用します。プログラム可能検索エンジンと Google ウェブ検索の両方で、検索結果に画像が表示される方法を改善するには、Google の画像公開に関するガイドラインを十分に理解しておくことをおすすめします。

画像属性でフィルタ

ウェブ検索と同様に、画像検索でも srcalttitle などの属性によるフィルタがサポートされています。

トップへ戻る

Programmable Search 要素内の構造化検索

構造化検索機能は、Google Chat サービスと Programmable Search Element。クエリで表現されている演算子と同様に、 要素内の構造化検索では、最初にその要素を 検索対象のページが目的の属性でマークアップされている 次で検索:次に、Programmable Search Element の sort 演算子 more:pagemap: 演算子と組み合わせると、 検索結果を適切に並べ替えたり制限したりします。

たとえば、カリフォルニア州のニュース ポータルである SignOnSanDiego.com では、 Programmable Search Element: 検索結果に写真を含む最近の記事を表示します。

最も関連性が高いだけでなく タイムリーなニュースも 読者に確実に伝えるために SignOnSanDiego は、属性によるバイアスを「strong」の値で使用します。体重重視 最近の公開日。SignOnSanDiego はこれらの日付属性を実装しています PageMapsSignOnSanDiego で使用されるものは、このようになります。

<!--
  <PageMap>
    <DataObject type="date">
      <Attribute name="displaydate" value="Wednesday, August 25, 2010"/>
      <Attribute name="sdate" value="20100825"/>
    </DataObject>

    <DataObject type="thumbnail">
      <Attribute name="src" value="http://media.signonsandiego.com/img/photos/2010/08/25/635a63e9-f4a1-45aa-835a-ebee666b82e0news.ap.org_t100.jpg"/>
      <Attribute name="width" value="100"/>
    </DataObject>
  </PageMap>
  -->

このフィールドに [属性別並べ替え] を適用するには、 検索コード内の sort オプションを Programmable Search Element の要素が、下記のとおりです。

...
<div class="gcse-search" sort_by="date-sdate:d:s"></div>
...

上記の URL &sort= パラメータと同様、プログラム可能検索要素の並べ替えオプションは、 <div class="gcse-search" sort_by="date-sdate:d:s"></div> は、date-sdate のような属性名を組み合わせて指定し、必要に応じて 複数のパラメータをコロンで区切って指定します。この例では、SignOnSanDiego には 強いバイアスを使用した d の降順で並べ替え 演算子の s フレーバー。「新規顧客の獲得」目標を デフォルトでは降順に並べ替えます。 URL 演算子の場合と同様です

また、並べ替えオプションにより、[範囲で制限] 機能も有効になります。たとえば SignOnSanDiego のようなサイトでは、ユーザーが記事を検索できる 2010 年 8 月 25 日から 9 月 9 日の間に発行されました。これを実装するには 並べ替えオプションを date-sdate:r:20100825:20100907。ここでも、2 つの 属性名は date-sdate ですが、代わりに 指定値の範囲 r20100825:20100907 です。 URL パラメータと同様に、URL の値の上限または下限の項目は Programmable Search Element の sort オプションで範囲を指定します。

並べ替えオプションのもう 1 つの便利な機能は、 範囲による属性と制限。複数の演算子を カンマを使用して並べ替えますたとえば SignOnSanDiego の強いバイアスについては、上記の日付制限を適用すると、次のようになります。 date-sdate:d:s,date-sdate:r:20100825:20100907 を指定します。この 異なる属性を組み合わせることができます。たとえば映画のレビューや 過去 週(オプション review-rating,release-date:r:20100907:)。

サポートされているすべての属性については、こちらのページをご覧ください。

プログラム可能検索の要素では、属性でフィルタすることもできます。 たとえば、前述の例linked-blog 属性のあるページカスタム ディメンションを 次のコードを使用しているページのみを返す検索コントロール more:pagemap:linked-blog:blogspot 演算子を クエリごとに:

...
<div class="gcse-search" webSearchQueryAddition="more:pagemap:linked-blog:blogspot"></div>
...

この方法は、すべてに制限を加えるため、比較的柔軟性に欠けます。 クエリの数を制限することができます。その他のオプションについては、ドキュメントをご覧ください 日付 プログラム可能検索要素

トップへ戻る

他の機能の確認

構造化検索機能は、 検索アプリケーションを詳細に制御できるため、 カスタム属性を使用して、検索結果を非常に簡単に 開発できます構造化検索は カスタム結果スニペットなど、プログラム可能検索エンジンのその他の機能。 詳細情報: