本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
Amazon CloudSearch 2013-01-01 API 提供多種新功能,包括支援多種語言、在結果中反白搜尋詞彙,以及取得建議。若要使用這些功能,您可以建立並設定新的 2013-01-01 搜尋網域、修改資料管道以使用 2013-01-01 資料格式填入新網域,以及更新您的查詢管道以 2013-01-01 請求格式提交請求。本遷移指南摘列 API 所做的變更,並重點描述最有可能對您的應用程式造成影響的部分。
建立 2013-01-01 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-02-01 網域並與之互動,您必須使用 v1 工具。
主題
設定 2013-01-01 Amazon CloudSearch 網域
您可以透過2013-01-01主控台、命令列工具或 AWS SDKs來設定 網域。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 網域也支援一組擴充的索引選項:
Analysis Scheme - 您可以透過為每個
text
和 欄位指定分析方案,根據每個text-array
欄位設定語言特定的文字處理。如需詳細資訊,請參閱設定分析方案。欄位類型 —Amazon CloudSearch 現在支援 11 種欄位類型:
date - 包含時間戳記。日期和時間是依照 IETF RFC3339 的規範,以 UTC (國際標準時間) 指定 yyyy-mm-ddT00:00:00Z 格式。例如,UTC 的 1970 年 8 月 23 日下午 5:00 即是:1970-08-23T17:00:00Z。
date-array - 可包含多個值的日期欄位。
double - 包含雙精度 64 位元浮點值。
double-array - 可包含多個值的雙精度欄位。
int - 包含 64 位元帶正負號的整數值。
int-array - 可包含多個值的整數欄位。
latlon - 包含儲存為經緯度值組的位置。
literal - 包含您希望能夠比對為完全相符的識別符或其他資料。
literal-array - 可包含多個值的常值欄位。
text - 包含任意英數資料。
text-array - 可包含多個值的文字欄位。
反白 - 當您為欄位啟用反白選項時,您可以擷取顯示搜尋詞彙在該欄位內發生位置的摘錄。如需詳細資訊,請參閱反白顯示 Amazon CloudSearch 中的搜尋點。
來源 - 您可指定來源以便在各個欄位間複製資料,讓您能夠為各欄位設定不同的選項,以不同的方式使用同一份來源資料。
設定您的 2013-01-01 網域時,需要記住幾件事:
預設情況下,在您新增欄位後,所有適用於該欄位類型的選項都將啟用。這雖然有助於進行開發和測試,但若停用您不需要的選項將可縮減索引的大小並提升效能。
您必須使用單獨的陣列類型欄位做為多值欄位。
唯有單值欄位可啟用排序。
唯有
text
和text-array
欄位可啟用反白。和 欄位除外的所有欄位皆可啟用面向。
text
text-array
常值欄位現已區分大小寫。
您不再需要將浮點值儲存為整數 - 請使用
double
欄位。您可以使用新的
latlon
欄位類型存放位置。如需詳細資訊,請參閱location-based searching and sorting。int
欄位為 64 位元帶正負號的整數。除了設定預設搜尋的欄位,您也可以由搜尋請求中使用
q.options
參數指定要搜尋哪些欄位。q.options
參數還能讓您為各個欄位指定權重。對運算式進行排序和設定時,您要使用名稱
_score
參考預設相關性分數。由於關聯性演算法的變更,計算的分數將與 2011-02-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 Configuration Service 動作和選項
下列動作已新增至 2013-01-01 Configuration Service API:
DefineAnalysisScheme
DefineExpression
DefineSuggester
DeleteAnalysisScheme
DeleteExpression
DeleteSuggester
DexcribeAnalysisSchemes
DescribeAvailabilityOptions
DescribeExpressions
DescribeScalingParameters
DescribeSuggesters
ListDomainNames
UpdateAvailabilityOptions
UpdateScalingParameters
deployed
選項已加入至索引欄位、存取政策及建議者的描述動作。將 deployed
選項設為 true 以顯示作用中組態並排除待定變更。
淘汰的 Amazon CloudSearch Configuration Service 動作和選項
2013-01-01 Configuration Service API 不支援下列動作:
DefineRankExpression
DescribeRankExpression
DeleteRankExpression
DescribeDefaultSearchField
DescribeStemmingOptions
DescribeStopwordOptions
DescribeSynonymOptions
UpdateDefaultSearchField
UpdateStemmingOptions
UpdateStopwordOptions
UpdateSynonymOptions
將資料上傳至 2013-01-01 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 中設定擴展選項。
如需資料格式化方式的詳細資訊,請參閱準備您的資料。
搜尋 2013-01-01 Amazon CloudSearch 網域
將現有 Amazon CloudSearch 搜尋網域遷移至 2013-01-01 API 所需的許多工作,正在更新您的查詢管道以提交 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
參數來反白特定欄位中的相符項目。如需詳細資訊,請參閱反白顯示 Amazon CloudSearch 中的搜尋點。自動完成 - 設定建議者並將請求提交給
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。
Amazon CloudSearch 2013-01-01 搜尋 API 中的新參數和選項
下列參數已新增至 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 2013-01-01 中的限制
此資料表摘要說明 Amazon CloudSearch 限制的變更和新增項目。如需 Amazon CloudSearch 限制的完整清單,請參閱 限制。
變更 | Summary |
---|---|
保留名稱 | 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 範圍內的值。 |