為了提供適合使用者查詢的搜尋結果,有時你必須更改查詢。 舉例來說,假設你建立一個圖片搜尋垂直欄位。 當有人在圖片垂直欄位輸入查詢時,你必須改變查詢,使其只回傳圖片的搜尋結果。
要更改查詢,你可以使用查詢建構器來設定查詢轉換。 你可以設定查詢轉換來替換查詢的屬性,例如查詢用來取得搜尋結果的 來源 ,或顯示搜尋結果時的排序順序。 轉換也會用你可以設定的查詢範本取代查詢文字。 查詢範本是取代查詢文字的文字,範本可以包含查詢變數。
查詢變數是值的佔位符。 當轉換以查詢範本替換查詢文字時,也會將範本中的查詢變數替換為特定值。
轉換會將上下文查詢變數替換為與查詢上下文相關的值。 下表展示了一些上下文查詢變數的範例。
| 一個轉換會取代這個上下文查詢變數 | 用這個 |
|---|---|
| {User.Name} | 輸入查詢的使用者姓名 |
| {Site.URL} | 使用者輸入該值的網站 |
| {今天} | 今天的日期 |
轉換會將綁定的查詢變數替換為使用者查詢中的特定文字。 下表展示了一些綁定查詢變數的範例。
| 一個轉換取代了這個綁定的查詢變數 | 用這個 |
|---|---|
| {搜尋框查詢} | 使用者輸入的查詢 |
| {搜尋詞} | 使用者輸入的查詢,經過最近的一次轉換所更改 |
當你對查詢加上限制時,例如限制查詢到特定內容類型時,可以使用綁定查詢變數。 例如,對於圖片搜尋垂直欄位,你可以使用查詢範本「{searchTerms} contenttype:picture」來設定一個查詢轉換,將「contenttype:picture」加入查詢文字。 如果使用者在該垂直欄位輸入「moon」查詢,轉換會將「{searchTerms}」替換成「moon」。 因此,查詢轉換會將查詢改為「moon contenttype:picture」。
你可以在三個地方設定查詢轉換:
在網路部分,例如搜尋結果網頁部分。 當你不需要在其他地方對查詢做同樣的更改時,就在網頁部分設定轉換。
在 查詢規則中,該規則指定某些動作只有在滿足特定條件時才會執行。 其中兩個動作使用轉換來更改查詢:
- 在搜尋結果頁面新增結果區塊。 此動作建立查詢副本,其轉換僅改變副本。
- 更改排名賽結果。 此動作會改變使用者輸入的查詢內容。
在查詢用來取得搜尋結果的結果來源中。
使用者查詢會由網頁部分轉換,接著是適用的查詢規則,最後由結果來源轉換。 因此,當你在結果來源中設定轉換時,你知道轉換的變更不會被丟棄或覆蓋,因為結果來源會最後轉換查詢。 例如,為了確保圖片搜尋垂直方向只回傳圖片,你只需在結果來源中設定適當的轉換,然後在搜尋垂直欄位中設定網頁部分以使用該結果來源。
欲了解更多資訊,請參閱 TechNet 上的查詢處理概述 。