本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
移轉至 Amazon CloudSearch
Amazon CloudSearch 2013-01-01 API 提供多項新功能,包括支援多國語言、反白呈現結果中的搜尋詞彙,以及取得建議。若要使用這些功能,您應建立和設定新的 2013-01-01 搜尋網域、修改資料流程以使用 2013-01-01 資料格式填入新網域,並將您的查詢流程更新為提交 2013-01-01 請求格式的請求。本遷移指南摘列 API 所做的變更,並重點描述最有可能對您的應用程式造成影響的部分。
建立 Amazon CloudSearch 網域
如果您曾在 2013-01-01 API 推出之前建立 Amazon CloudSearch 網域,如今建立新網域時便可選擇要使用哪個 API 版本。若要透過主控台建立 2013-01-01 網域,請在「建立網域精靈」中選取 2013-01-01 版本。若要從命令列建立 2013-01-01 網域,請下載並安裝 AWS CLI,然後執行aws cloudsearch create-domain
命令。
注意
若要建立 2013-01-01 網域並與其互動,您必須使用 AWS CLI 工具。若要建立 2011-01-01 網域並與其互動,您必須使用 v1 工具。
主題
設定 Amazon CloudSearch 網域
您可以透過主控台、命令列工具或 AWS 開發套件設定 2013-01-01 網域。2013-01-01 網域支援以下幾個新的組態選項:
分析方案-您將設定分析方案以指定
text
和text-array
欄位。Amazon CloudSearch 現已支援 33 種語言,以及適用於多國語言欄位的選項。如需更多詳細資訊,請參閱 設定分析方案。如需支援的語言完整清單,請參閱支援的語言。可用性選項-您可以啟用異地同步備份選項,將網域擴展到第二個可用區域,藉此確保發生服務中斷時仍能運作。如需更多詳細資訊,請參閱 設定可用性選項 。
擴展選項-您可以設定所需的執行個體類型和所需的複寫計數,藉此增加上傳容量或搜尋容量、加速搜尋請求並提升容錯能力。如需更多詳細資訊,請參閱 在 Amazon 中設定擴展選項 CloudSearch。
建議者-您可以設定建議者實作自動完成功能。如需更多詳細資訊,請參閱 配置 Amazon 的建議者 CloudSearch。
Amazon CloudSearch 組態服務存取權是透過 IAM 管理,現可讓您控制對特定組態動作的存取權。請注意,Amazon CloudSearch ARN 也已變更。網域的文件端點和搜尋端點存取權則是透過 Amazon CloudSearch 組態服務進行管理。如需更多詳細資訊,請參閱 configure access policies。
2013-01-01 網域還支援一套擴增的索引選項:
分析方案-您將透過為每個欄位指定其分析方案,就個別欄位設定特定語言的文字處理選項。
text
和text-array
欄位。如需更多詳細資訊,請參閱 設定分析方案。欄位類型-亞馬遜雲搜尋現已支援 11 種欄位類型:
date - 包含時間戳記。日期和時間是依照 IETF RFC3339 的規範,以 UTC (國際標準時間) 指定 yyyy-mm-ddT00:00:00Z 格式。例如,UTC 1970 年 8 月 23 日下午 5:00 即是:七零八年八月二十三日下午七時。
date-array - 可包含多個值的日期欄位。
double - 包含雙精度 64 位元浮點值。
double-array - 可包含多個值的雙精度欄位。
int - 包含 64 位元帶正負號的整數值。
int-array - 可包含多個值的整數欄位。
latlon - 包含儲存為經緯度值組的位置。
literal - 包含您希望能夠比對為完全相符的識別符或其他資料。
literal-array - 可包含多個值的常值欄位。
text - 包含任意英數資料。
text-array - 可包含多個值的文字欄位。
反白-當欄位啟用反白選項後,您即可擷取摘錄以顯示搜尋詞彙出現於該欄位內的位置。如需更多詳細資訊,請參閱 在亞馬遜雲搜尋中反白呈現搜尋命中項目。
來源 - 您可指定來源以便在各個欄位間複製資料,讓您能夠為各欄位設定不同的選項,以不同的方式使用同一份來源資料。
設定您的 2013-01-01 網域時,請謹記以下幾個事項:
預設情況下,在您新增欄位後,所有適用於該欄位類型的選項都將啟用。這雖然有助於進行開發和測試,但若停用您不需要的選項將可縮減索引的大小並提升效能。
您必須使用單獨的陣列類型欄位做為多值欄位。
唯有單值欄位可啟用排序。
唯有
text
和text-array
欄位可啟用反白。和 欄位除外的所有欄位皆可啟用面向。
text
text-array
常值欄位現已區分大小寫。
您不再需要將浮點值儲存為整數 - 請使用
double
欄位。您可以使用新的
latlon
欄位類型存放位置。如需更多詳細資訊,請參閱 location-based searching and sorting。int
欄位為 64 位元帶正負號的整數。除了設定預設搜尋的欄位,您也可以由搜尋請求中使用
q.options
參數指定要搜尋哪些欄位。q.options
參數還能讓您為各個欄位指定權重。對運算式進行排序和設定時,您要使用名稱
_score
參考預設相關性分數。由於相關性演算法有所變更,計算得出的分數將與 2011-01-01 API 的情況不同。如需更多詳細資訊,請參閱 設定運算式。運算式現已支援
logn
、atan2
和haversin
函數以及_score
(文字相關性分數) 和_time
(epoch 時間) 變數。如果您將位置存放於latlon
欄位,即可透過FIELD.latitude
和FIELD.longitude
參考緯度值和經度值。運算式也可以同時參考int
和double
欄位。以下函數已不再受到支援:cs.text_relevance
、erf
、lgamma
、rand
,以及time
。如需更多詳細資訊,請參閱 設定運算式。
如需如何為 2013-01-01 網域設定索引選項的相關資訊,請參閱configure indexing options。如需如何設定可用性選項、調整規模選項、文字處理選項、建議者及運算式的詳細資訊,請參閱建立和管理搜尋網域。
新的 Amazon CloudSearch 組態服務新增的動作與選項
2013-01-01 組態服務 API 已增加下列動作:
DefineAnalysisScheme
DefineExpression
DefineSuggester
DeleteAnalysisScheme
DeleteExpression
DeleteSuggester
DexcribeAnalysisSchemes
DescribeAvailabilityOptions
DescribeExpressions
DescribeScalingParameters
DescribeSuggesters
ListDomainNames
UpdateAvailabilityOptions
UpdateScalingParameters
deployed
選項已加入至索引欄位、存取政策及建議者的描述動作。將 deployed
選項設為 true 以顯示作用中組態並排除待定變更。
已淘汰的 Amazon CloudSearch 組態服務動作與選項
2013-01-01 組態服務 API 已不支援下列動作:
DefineRankExpression
DescribeRankExpression
DeleteRankExpression
DescribeDefaultSearchField
DescribeStemmingOptions
DescribeStopwordOptions
DescribeSynonymOptions
UpdateDefaultSearchField
UpdateStemmingOptions
UpdateStopwordOptions
UpdateSynonymOptions
將資料上傳至 Amazon CloudSearch 網域
使用 2013-01-01 API 時,您不再需要指定文件版本-系統會依收到的順序套用更新。您也不再需要為每份文件指定 lang
屬性 - 您將透過為各個 text
和 text-array
欄位設定其分析方案,控制特定語言的文字處理方式。
若要上傳資料至 2013-01-01 網域,您必須:
自您的文件批次剔除
version
和lang
屬性。確認所有的文件欄位皆已對應到針對您的網域所設定的索引欄位。無法辨識的欄位將不再被忽略,而會產生錯誤。
將文件批次發佈至您的 2013-01-01 網域的文件端點。請注意,您必須指定適用於 2013-01-01 的 API 版本。例如,以下請求會將
data1.json
所包含的批次發佈至doc-movies-123456789012.us-east-1.cloudsearch.amazonaws.com
端點。curl -X POST --upload-file data1.json doc-movies-123456789012.us-east-1. cloudsearch.amazonaws.com/2013-01-01/documents/batch --header "Content-Type: application/json"
2013-01-01 API 支援預先調整您的網域規模以增加上傳容量。如果您有大量資料需要上傳,請設定網域的調整規模選項,並選取較大的所需執行個體類型。移至較大的執行個體類型讓您能夠平行上傳多個批次,且能縮短對資料編製索引所花費的時間。如需更多詳細資訊,請參閱 在 Amazon 中設定擴展選項 CloudSearch。
如需資料格式化方式的詳細資訊,請參閱準備您的資料。
搜尋 Amazon CloudSearch 域名
將現有的 Amazon CloudSearch 網域遷移至 2013-01-01 API 所需的大部分作業,即是更新您的查詢流程以提交 2013-01-01 相容於 2013-01-01 的的搜尋請求。
在所有請求中使用 2013-01-01 API 版本。
所有請求一概使用
q
參數指定搜尋條件。現已不支援bq
參數。若要使用結構化 (布林值) 搜尋語法,應由請求中指定q.parser=structured
。搜尋請求中不得重複使用同一參數。
萬用字元 (*) 僅在使用 simple 查詢剖析器時才受支援。使用
prefix
運算子搭配結構式查詢剖析器進行字首比對。例如,。q=(prefix 'oce')&q.parser=structured
。由搜尋請求中使用欄位名稱
_id
參考文件 ID 欄位。現已不支援docid
欄位名稱。使用
range
運算子搜尋欄位以找出落在指定範圍內的值。現已不支援filter
運算子。使用新的範圍語法搜尋某個範圍的值,包括存放於
latlon
欄位內的日期和位置。已不支援雙點 (..) 表示法。使用逗號 (,) 分隔上限和下限,然後用方括號或大括號將範圍括住。方括號 ([,]) 表示要含括界限,大括號 ({,}) 則會排除界限。例如,year:2008..2011
現將改以year:[2008,2011]
表示。開放範圍如year:..2011
現將改以year:{,2011]
表示。使用
term
運算子搜尋欄位以找出特定值。現已不支援field
運算子。使用
q.options
參數指定欄位權重。現已不支援cs.text_relevance
函數。例如,。q.options={fields:['title^2','plot^0.5']}
。使用
fq
參數篩選結果,而不會影響相符文件的計分和排序方式。在字首參數中使用點 (.) 代替連字號 (-):
expr.NAME
、facet.FIELD
、highlight.FIELD
。使用
facet.FIELD
參數指定所有的面向選項。現已不支援facet-FIELD-top-N
、facet-FIELD-sort
和facet-FIELD-constraints
參數。使用
sort
參數指定您要用於排序的欄位或運算式。sort 參數必須明確指定排序方向。例如,。sort=rank asc, date desc
。現已不支援rank
參數。由搜尋請求中使用
expr.NAME
定義運算式。現已不支援rank-RANKNAME
參數。使用
format=xml
取得 XML 格式的結果。現已不支援result-type
參數。
2013-01-01 的搜尋 API 另支援以下幾項新功能:
詞彙增強 — 使用
boost
選項,以提高查詢的某部分相對於其他部分的重要性。如需更多詳細資訊,請參閱 建構複合查詢。草率的片語搜尋 — 使用
near
運算子在結構化查詢中搜尋text
或text-array
欄位,以取得多個字詞及其中包含各字詞彼此相隔在指定距離內的文件。您也可以使用 simple 查詢剖析器,於片語後面附加~
運算子和一個值進行鬆散片語搜尋。如需更多詳細資訊,請參閱 搜尋片語。模糊搜尋 — 使用
~
運算子使用簡單的查詢剖析器進行模糊搜尋。於字詞後面附加~
運算子和一個值,以表示容許各字詞差別到什麼程度下仍會視為相符。如需更多詳細資訊,請參閱 搜尋個別字詞。高亮度-使用
highlight.FIELD
參數反白呈現特定欄位內的相符項目。如需更多詳細資訊,請參閱 在亞馬遜雲搜尋中反白呈現搜尋命中項目。自動完成:設定管理員並將要求提交至
suggester
資源以取得完整查詢句和找到各句子的文件清單。如需更多詳細資訊,請參閱 在 Amazon 中獲取自動完成建議 CloudSearch。部分搜尋結果 — 使用
partial=true
參數擷取局部結果,當一個或多個索引分割區無法使用時。Amazon CloudSearch 預設只會在每個分割區皆可查詢時才傳回結果。深度分頁 — 使用
cursor
參數,當您有大型結果集時對結果進行分頁。如需更多詳細資訊,請參閱 Paginate the results。比對所有文件 - 使用
matchall
結構式查詢運算子擷取索引中的所有文件。全新查詢剖析器 - 使用
q.parser
參數選擇 Lucene 剖析器 (q.parser=lucene
) 或 DisMax 剖析器 (q.parser=dismax
) 代替 simple 或結構式剖析器。
您亦將發現搜尋時的行為有一些變更:
當其後未接空格的界限和期間視為某字詞的一部分時,不會再對字串進行字符化。如需更多詳細資訊,請參閱 Amazon CloudSearch 的文字處理。
常值欄位現已區分大小寫。
搜尋回應不再附上排名、比對運算式或 CPU 時間。傳回的狀態資訊只有資源 ID (rid) 和處理時間 (time-ms)。
當您取得
int
欄位的面向資訊時,現已不再傳回min
和max
值。
如需如何搜尋資料的詳細資訊,請參閱使用 Amazon 搜索您的數據 CloudSearch及Search API。
亞馬遜雲端搜尋新增的參數與選項 2013-01-01
2013-01-01 的搜尋 API 已增加下列參數:
cursor.FIELD
expr.NAME
facet.FIELD
format
fq
highlight.FIELD
partial
pretty
q.options
q.parser
return
sort
~
運算子已加入至簡易查詢語言,以支援模糊搜尋和鬆散片語搜尋。
結構式查詢語言已增加下列運算子:
boost
matchall
near
phrase
prefix
range
term
已淘汰的 Amazon CloudSearch 尋參數與選項
2013-01-01 的搜尋 API 已不再支援下列參數:
bq
facet-FIELD-top-N
facet-FIELD-sort
facet-FIELD-constraints
rank
rank-RANKNAME
return-fields
result-type
t-FIELD
結構式查詢已不再支援下列運算子和捷徑:
field
篩選條件
-
|
+
*
Amazon CloudSearch 的更新限制
下表摘要說明 Amazon CloudSearch 限制的變更和新增的內容。如需 Amazon CloudSearch 限制的完整清單,請參閱限制。
變更 | 總結 |
---|---|
保留名稱 | score 是唯一的保留名稱。 |
傳回資料不受限制 | 從文字欄位傳回的資料達到 2 KB 時不再截斷。不過請切記,文件大小的上限為 1 MB。 |
相關字詞功能、停用詞或同義詞字典不受限制 | 相關字詞功能、停用詞和同義詞字典是由分析方案進行設定,而分析方案定義的大小並無任何限制。 |
欄位值數目上限 | 陣列類型的欄位最多可包含 1000 個值。 |
欄位大小 | literal 欄位的大小上限為 4096 個 Unicode 字碼指標。 |
Int 欄位範圍 | int 欄位可包含落在 -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807 (含) 範圍內的值。 |
反白數目上限 | 搜尋詞彙出現次數可予反白的上限為 5。 |
建議者數目上限 | 每一網域可設定的建議者數目上限為 10。 |
一次可擷取的命中數上限 | 一次可擷取的命中數上限為 10,000。size 參數可包含落在 0 到 10000 範圍內的值。 |