在亞馬遜雲搜尋中反白呈現搜尋命中項目 - Amazon CloudSearch

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

在亞馬遜雲搜尋中反白呈現搜尋命中項目

Amazon CloudSearch 可隨搜尋結果傳回摘錄,以顯示搜尋詞彙出現於相符文件某個特定欄位內的位置。例如,以下這段摘錄會反白呈現 欄位內的搜尋詞彙 luke skywalkerplot

highlights": { "plot": "After the rebels have been brutally overpowered by the Empire on their newly established base, *Luke* *Skywalker* takes advanced Jedi training with Master Yoda, while his friends are pursued by Darth Vader as part of his plan to capture *Luke*." }

如果您搜尋片語,相符的文件就必須包含該片語。不過,當您擷取反白句時,片語中的各字詞將個別反白呈現。若您搜尋片語 "Luke Skywalker" 並擷取上述範例所示 plot 欄位的反白句,則 Luke 一詞即使沒有後接 Skywalker 也會反白。傳回的反白句為欄位內的前 10 KB 資料。如果欄位所包含的資料超過 10 KB,搜尋詞彙一旦位於 10 KB 的限制外就不會反白呈現。

您可在搜尋請求中指定 highlight.FIELD 參數,以取得任何啟用反白欄位的反白句。例如,若要取得同上所示 plot 欄位的反白句,請指定以下內容:

search?q=star wars&highlight.plot={}

如需如何使欄位能夠傳回反白句的詳細資訊,請參閱configure indexing options

您可以控制要讓某段摘錄反白幾次出現的搜尋詞彙與反白方式,以及要傳回純文字或 HTML 的摘錄。當亞馬遜雲搜尋以 HTML 傳回摘錄時,非英數字元將以 HTML 實體編碼方式逸出。這是為了盡量降低因內嵌未受信任的 HTML 內容而導致的相關風險,因為欄位有可能原本即已填入使用者產生的內容。

反白選項是指定成 JSON 物件。如果 JSON 對象是空的,highlight.FIELD={},亞馬遜雲搜尋將所有出現的搜尋詞彙用 HTML 加強語氣標籤括住 () 以示反白,並以 HTML 加強語氣標籤括住 () 以示反白,<em>term</em>,並且摘錄會以 HTML 格式傳回。

  • 若要指定應以 texthtml 傳回摘錄,請使用 format 選項,例如 highlight.plot={format:'text'}

  • 若要指定您希望反白最多達幾次出現的搜尋詞彙,請使用 max_phrases 選項,例如 highlight.plot={max_phrases:3}。預設值為 1,最大值為 5。

  • 若要指定欲附加到每個反白字詞前面的字串,請使用 pre_tag 選項,例如 highlight.plot={pre_tag:'<strong>', post_tag:'</strong>'}

  • 若要指定欲附加到每個反白字詞後面的字串,請使用 post_tag 選項,例如 highlight.plot={pre_tag:'<strong>', post_tag:'</strong>'}