篩選及排序搜尋結果

總覽

為協助使用者前往網站上的正確網頁,程式化搜尋引擎提供結構化搜尋運算子,可根據您網頁中的結構化資料或與網站上的圖片相關聯的中繼資料,進一步細查搜尋結果的子集。

圖片搜尋來說,Google 會運用結構化資料,以及檢索網站時找到的圖片中繼資料。我們建議所有網站管理員都熟悉我們的圖片發布指南

  1. 網頁搜尋
  2. 圖片搜尋
  3. 程式化搜尋元素中的結構化搜尋

網頁搜尋

與文字是任意形式的字詞序列 邏輯方式整理成一組具備一組屬性的物件。 程式化搜尋引擎會擷取各種結構化資料,以供結構化使用 搜尋運算子,包括日期、作者、評分和價格;這是 可用於自訂程式碼片段中的相同資料。於 此外,程式化搜尋引擎也支援下列任一格式的結構化資料:

  • PageMap: PageMap 以 DataObjects 明確表示結構化資料 編碼為內嵌於 網頁。程式化搜尋引擎能取得所有格式正確的 PageMap 資料 適用於結構化搜尋運算子這個 API 也可用於 自訂程式碼片段
  • meta 標記: Google 會從「meta」中擷取所選內容 格式為 <meta name="NAME" content="VALUE"> 的標記。表單的 meta 標記 <meta name="pubdate" content="20100101"> 可以是 搭配以下形式的搜尋運算子: &sort=metatags-pubdate
  • 網頁日期: Google 會根據網址、標題和署名來預估網頁的日期 和其他功能這個日期可與排序運算子搭配使用 特殊結構化資料類型 date,如 &sort=date 中所示。
  • 複合式摘要資料: 此外,Google 也會從公開標準中擷取部分資料,例如: ,以用於程式化搜尋引擎的結構化資料運算子。 例如,將使用微格式標記的網頁排序 hrecipe 標準是根據評分而定,使用 &sort=recipe-ratingstars

進一步瞭解如何提供結構化資料

如果您的網頁包含結構化資料,然後套用程式化搜尋引擎 結構化搜尋運算子,限制搜尋特定欄位。 資料值,嚴格按照數值排序,並對特定值產生偏誤 不必排序,或甚至限制為給定的數值範圍

程式化搜尋引擎支援以下適用於結構化資料的搜尋運算子:

返回頁首

依屬性篩選

依屬性篩選可讓您選取三種結果:

  • 附有特定附加 DataObject 的結果,例如評論
  • 含有特定欄位 DataObject 的結果,例如 價格範圍的評論
  • 含有特定欄位值的結果,例如 給予 5 顆星的評論

如要依屬性篩選,請加入 more:pagemap:TYPE-NAME:VALUE 運算子加入搜尋查詢。這會將搜尋結果限制在 結構化資料都與該類型、名稱和值完全相符。(程式化搜尋引擎 每個頁面最多可轉換 200 個屬性,從網頁地圖資料開始 後面加上 JSON-LD、微格式、中繼標記、RDFa 和微資料)。屬性不應含有完整內容 超過 128 個字元 省略用來比對的 VALUE,即可將這個運算子一般化 已命名欄位的所有例項或省略 -NAME:VALUE 比對特定類型的所有物件。

如要瞭解如何使用結構化資料建立完整運算子,請按照下列步驟操作: 想起先前使用的範例嗎?

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

細分 more:pagemap:document-author:lisamorton 以及限制 more: 運算子就是程式化搜尋引擎 修正標籤,限制條件的 pagemap: 部分 要求我們依據已建立索引的 PageMaps 中的特定屬性,修正搜尋結果 運算子的其餘元素: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: 限定詞會指示我們 類型為 document 且屬性名稱為 author 的 DataObject。 這個結構化資料鍵後面會接 lisamorton 值。 必須與要傳回的值完全一致 包含這項限制的搜尋

more:p:document-author:lisamorton

依屬性篩選時,您可以建立較複雜的篩選器 (並縮短篩選器時間) 指令)舉例來說,您可以 網址的 PageMap:

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

如要擷取「愛爾蘭及虛構」查詢的結果,請使用下列指令:

more:p:document-keywords:irish*fiction

相當於 more:pagemap:document-keywords:Irish more:pagemap:document-keywords:fiction

如要擷取「愛爾蘭 AND (虛構 OR 恐怖)」的結果,請使用下列指令:

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

返回頁首

依分支版本篩選

依分支版本篩選依屬性篩選的變化版本 JSON-LD、Micro 格式和 RDFa。這是「唯一」依屬性篩選類型 適用於 JSON-LD 結構化資料

如果結構化資料不含樹木,或只包含沒有樹木 子項時,限制與依屬性篩選相同。 不過,含有子項的樹狀圖設有以下限制: type-name 是從根層級到分葉節點的每個節點,所以以下樹狀結構:

  • 根屬於事件類型
  • 將子項命名為 rating
  • 該子項的類型為 AggregateRating
  • 該子項具有名稱為 ratingCount 且值為 22 的屬性。
,瞭解如何調查及移除這項存取權。 會產生限制: 分支版本的 more:pagemap:event-rating-aggregaterating-ratingcount:22 結束於評分計數

使用依屬性篩選或具有其他功能的分支版本

您可以使用這個開放式語法深入瞭解指定 網站上文件的 PageMaps;你也可以使用這個語法 幾乎所有其他類型的結構化資料 Google 支援的瀏覽器,除了 預估網頁日期。你可以 這些 more:pagemap: 運算子也可以與 分類標籤 隱藏的查詢元素 依據應用程式的重要屬性篩選結果 因此使用者無需直接輸入這些限制限定詞。

您也可以省略搜尋運算子的某些部分。在上述範例中 請注意,PageMap 指定 document 類型的 DataObject 是 author 類型的屬性。但並非網站上所有的網頁 文件,而且不一定所有文件都有註明出處的作者。如果發生以下情況: 使用 more:pagemap:document-author 格式的運算子。 傳回的結果會包含含有 author 屬性的所有網頁 document DataObject 中的值,無論 屬性為。同樣地,more:pagemap:document 會傳回 含有 PageMaps 且類型為 document 的所有結果, 無論該 DataObject 上的哪些欄位都一樣

針對限制權杖化文字值

包含空格、標點符號或特殊字元的屬性值 幾乎一律會拆分為不同的符記舉例來說 「Programmable Search Engine@google」的值就會拆分為三個不同的符記 「自訂」、「搜尋」和「google」允許搜尋單一字詞 這些標記會嵌入到更多字詞和標點符號中 生成 3D 物件(程式化搜尋引擎會為每個字串擷取最多 10 個符記,因此如果您的 屬性值超過 10 個字詞,可能無法使用所有字詞來限制 results.) 舉例來說,下列的 PageMap 包含 程式化搜尋引擎

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

下列限制會找出所有含有 product-description 的網頁 「搜尋」相關屬性:

[more:pagemap:product-description:search]

代碼化文字值的其他規則:

  • 設定限制時,文字值會轉換為小寫
  • 如果字串不超過六個符記,系統會針對整個字串產生額外的限制。 由 _ 取代,例如 please_attend
  • 系統不會針對「停止字詞」(例如「」等字詞、 a,「但」和「結果」較不實用。所以 文字值:「主要重點」會針對 mainpoint 和 和 the_main_point,但不會產生 the 的限制。
  • 設定限制時,只會使用文字值中的前十個字詞。
  • 不是視為分隔符號的標點符號會轉換為底線 _

使用多項限制細查權杖化值

如要進一步細查,您可以新增其他限制。例如 只取得說明搜尋引擎產品的網頁,請加入以下限制:

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

more:pagemap: 限制的順序並不重要; 符記就會從屬性值擷取成未排序的集合。

這些限制 預設會以 AND 合併;或者,您也可以結合使用 OR 運算子 即可取得符合任一限制的結果例如,以下搜尋 會比對有關搜尋或遊戲的內容:

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

權杖化的例外是網址屬性值。開始時間 網址權杖的實用性,我們不會透過 屬性值,也就是有效的網址。

在某些情況下 (例如經常同時找到短符記時) 程式化搜尋引擎可能會結合這些元素,以產生超級符記。舉例來說 「總統」和「歐巴馬」程式化搜尋引擎 建立超符記「p 裡伯巴馬」因此,[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]

只有在正斜線介於 不含空格的數字;與數字之間的空格 即可建立獨立的符記再者,透過數字彙整 所謂斜線,必須完全相符;「依屬性篩選」運算子 不會將這些值視為分數或日期程式化搜尋引擎 其他結構化搜尋運算子 「排序依據」以及 限制在範圍內,執行解讀 以分數和日期的形式呈現請參閱 提供以下項目的結構化資料: 瞭解詳情

返回頁首

JSON-LD 的限制

JSON-LD 是功能強大的標準結構化資料格式, 資料格式為 JSON,並放在 含有 type="application/ld+json"<script> 標記。

以下是簡短的 HTML 程式碼,有一些簡單的 JSON-LD:

<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 樹狀結構的根部有分葉節點做為子項 結果限制的表單與屬性限制相同。有些限制 上述範例是從根層級的分葉節點所建立,並採用 [Attribute Restrict's (類型名稱) 表單,例如:more:pagemap:aggregaterating-ratingcount:22

注意:其他結構化資料格式允許的字串長度上限為 128 個位元組, JSON-LD 的所有字串都會截短為 50 個字元,因此簡化了原則 字串中。視字詞長度而定,系統可能會限制產生的符記數量 超過 10 個符記的數量限制。

返回頁首

依屬性排序

有時候,將搜尋範圍限制在特定類型的搜尋結果是不夠的; 舉例來說,假設您在搜尋餐廳評論時 。您可以達成 與程式化搜尋引擎的按照屬性排序功能整合 根據結構化資料屬性的值排序結果。 已啟用排序功能,方法是加入 &sort=TYPE-NAME:DIRECTION 您程式化搜尋引擎的要求網址網址參數。 和結構化搜尋一樣,依屬性排序取決於 您的網頁;但與結構化搜尋不同 ] 欄位包含一個數值解釋,例如數字和日期。

最簡單的方式就是指定結構化資料類型 資料物件類型 PageMap 的屬性名稱,並加到要求網址 (為 &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。頁 缺少 PageMaps、DataObject 類型或是該物件的可剖析值 屬性不會以固定順序顯示。在上述範例中,網頁 缺少 date-sdate 屬性時,就不會顯示 結果。硬式編碼排序無法與依屬性的偏誤合併 功能,但也能與 依屬性篩選以及 「限制在範圍中」

返回頁首

偏誤 (依屬性)

有時候,您會不想排除沒有值的結果; 例如想搜尋黎巴嫩美食各種 從純黎巴嫩 (最相關) 到 希臘文 (最不相關)。這時,您可以選用「高」或「弱」 自訂偏誤,從而強力或弱化推廣具有 而不會排除缺少該價值的結果。您指定了 排序方向後加上第二個值即可降低偏誤: &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 運算子,Google 支援數字 格式為浮點格式, 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

範圍內含,且可以與逗號運算子搭配使用 或透過單一排序或一或多個自訂調整標準注意事項 將範圍限制結合「排序」與「偏誤」條件的結果 會導致只會排序含有該範圍值的項目。例如: 只想依評分為三顆星的項目排序,請使用以下條件:

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

圖片搜尋

為搜尋引擎啟用圖片搜尋功能後,Google 會在另一個分頁中顯示圖片搜尋結果。如要啟用圖片搜尋功能,請使用「程式化搜尋引擎」控制台,或是更新「context.xml」檔案。

「圖片搜尋」是根據 Google 在檢索你的網站時找到的資訊來判斷。如要改善圖片在搜尋結果中的顯示方式 (包括程式化搜尋引擎和 Google 網頁搜尋),建議瞭解 Google 的圖片發布指南

依圖片屬性篩選

和 Google 網頁搜尋一樣,「圖片搜尋」也支援篩選 srcalttitle 等屬性。

返回頁首

程式化搜尋元素中的結構化搜尋

結構化搜尋功能也可以與 Google 程式化搜尋元素。就像查詢中表示的運算子一樣 或網址參數,在元素中加入結構化搜尋時, 然後用所需的屬性標記 搜尋方式那麼 Programmable Search Element 的 sort 運算子 結合 more:pagemap: 運算子 視需要排序或限制搜尋結果

舉例來說,加州新聞入口網站 SignOnSanDiego.com 會使用 程式化搜尋元素,在搜尋結果中顯示包含相片的最新報導:

為了確保讀者不只看到最相關 即時的新聞, SignOnSanDiego 使用「偏誤依據屬性」搭配「強」朝著體重目標邁進 最近的出版日期。SignOnSanDiego 實作這些日期屬性 使用 PageMaps;SignOnSanDiego 使用的指令看起來會像這樣:

<!--
  <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選項 程式化搜尋元素,如下所示:

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

如同上述網址 &sort= 參數,程式化搜尋元素中的排序選項 <div class="gcse-search" sort_by="date-sdate:d:s"></div> 會使用合併的屬性名稱 (例如 date-sdate) 和數個選用屬性 並以冒號分隔參數在這個範例中,您已指定 SignOnSanDiego 使用強烈偏誤以遞減方式排序 d 運算子的 s 變種版本。如未提供 限定詞,預設會使用以遞減順序排列, 就像網址運算子一樣

排序選項也會啟用「依範圍限制」功能。例如: 即使 SignOnSanDiego 這類網站,使用者也可以搜尋文章 發布時間:2010 年 8 月 25 日至 9 月 9 日如要實作這項功能 則可將排序選項設為 date-sdate:r:20100825:20100907。這會再次使用 屬性名稱 date-sdate,但會限制在 指定值 20100825:20100907 的範圍 r。 與網址參數一樣,您可以忽略 範圍。sort

您還可以結合排序依據 屬性和範圍。您可以在 來選取排序選項例如,若要結合 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>
...

這個方法相對缺乏彈性,因為這樣會對 查詢從這個控制項發出的查詢如要查看其他選項,請參閱說明文件 的 程式化搜尋元素

返回頁首

瞭解其他功能

結構化搜尋功能是一組強大功能 大量控管搜尋應用程式 使用自訂屬性來排序及限制搜尋結果 為使用者提供強大的功能結構化搜尋也適用於 其他程式化搜尋引擎功能,例如自訂搜尋結果摘要。 詳情請參閱: