系統相關
項 | 值 |
每個使用者執行個體個數 | 不限制 |
每個使用者doc總數 | 理論上不限制,具體根據配額儲存容量計算 |
每個使用者pv總數 | 理論上不限制,具體根據配額LCU峰值計算 |
支援系統字元編碼 | UTF-8 |
執行個體相關
項 | 值 | |
叢集規格 | 共用叢集 | 獨享叢集 |
執行個體名長度 | 30字元 | |
欄位名長度 | 30字元 | |
排序運算式名稱長度 | 30字元 | |
欄位個數 | 256個 | 512個 |
源表表名長度 | 16字元 | |
索引欄位名 | 64字元 | |
INT類欄位個數 | 256個 | |
TIMESTAMP類型的欄位個數 | 4個 | |
GEO_POINT類型的欄位個數 | 2個 | |
LITERAL欄位個數(不支援建立為複合式索引) | 256個 | |
TEXT、SHORT_TEXT類型欄位個數 | 32個 | 64個 |
數值分析索引個數 | 4個 | 8個 |
複合式索引個數 | 4個 | 8個 |
單個複合式索引包含欄位數 | 8個 | |
INT類型構建數值分析索引個數 | 4個 | 8個 |
GEO_POINT類型構建數值分析索引個數 | 2個 | |
TIMESTAMP類型構建數實值型別索引個數 | 4個 | |
TEXT、SHORT_TEXT類型單欄位索引個數 | 4個 | 8個 |
LITERAL類型單欄位索引個數 | 256個 | |
INT類型構建關鍵字分析索引個數 | 256個 | |
向量索引個數 | 0個 | 2個 |
總資料來源個數 | 20個 |
高效能檢索版-獨享儲存型相關限制說明:
表總數不能超過系統最大限制8個;
不支援配置查詢分析、搜尋結果展示功能。
欄位相關
項 | 值 |
INT64 | -2^63~2^63-1 |
FLOAT | +/-3.40282e+038 |
DOUBLE | +/-1.79769e+308 |
LITERAL | 65535個位元組 |
TEXT | 65536個詞 |
SHORT_TEXT | 100位元組,超過後截斷 |
LITERAL_ARRAY | 欄位長度總體不能超過65535個位元組(算上元素之間的2位元組的系統內建分隔字元),如果超過,則會截斷到最大滿足長度限制的最後一個完整元素為止。(效能消耗較大,推薦控制在100個元素內) |
INT_ARRAY、FLOAT_ARRAY、DOUBLE_ARRAY | 如果設定為屬性欄位,則限制是最多65535個元素(推薦控制在100個元素內) |
排序運算式
項 | 值 |
基礎排序運算式條數 | 30個 |
業務排序運算式條數 | 30個 |
每個基礎排序可設定的特徵函數項 | 4個 |
搜尋結果摘要
項 | 描述 | 取值範圍 |
片段長度 | 表示摘要長度 | [1,300] 位元組 |
片段數量 | 在摘要長度內需要幾個片段 | [1,5] |
推送資料(應用層級)
項 | 值 |
API 每次推送總文檔數上限 | 1000個,建議100個效能更好(建議打包推送) |
API 每秒推送總次數上限 | 500次,超出後本次請求將失敗,並提示rate exceeds app quota |
API 每次請求總容量上限 | 2M/s,超出後本次請求將失敗,並提示rate exceeds app quota |
API 每秒請求總容量上限 | 2M/s,超出後本次請求將失敗,並提示rate exceeds app quota |
RDS/PolarDB增量同步處理速率上限 | 2M/s,超出後系統將自動限速,增量資料同步延遲 |
每條文檔大小上限 | 1M,超出後該記錄同步失敗,並提示The total size of documents exceed |
增量處理時效性 | 99%的文檔推送成功後可以在1秒內搜尋到,99.9%在1分鐘內 |
● 超過推送資料的上限會導致增量資料同步延遲;
● 已使用的儲存容量若超出應用配額,系統將自動丟棄API推送資料的請求,擴容後需重新推送;
● 已使用的儲存容量若超出應用配額,系統將自動停止同步RDS/PolarDB的增量訊息,擴容後會自動從停止的時間點繼續同步增量資料。
● 增量資料同步tps超過限制,會導致索引重建無法追上即時增量資料,從而導致索引重建一直無法完成;
● 規格為獨享叢集執行個體的應用可以適當調整推送資料的上限;
● 若配置了RDS/PolarDB資料來源,並且同步方式選擇自動同步,OpenSearch將儘力保障同步服務的穩定性但不保障同步的延遲,如果對同步延遲比較敏感的業務建議同步方式採用DTS資料訂閱執行個體(DTS即時同步);
推送資料中不能包含下列系統保留不可見字元
編碼 | (emacs/vi)中的顯示形態 |
“\x1E\n” | ^^ |
“\x1F\n” | ^_ |
“\x1C” | ^\ |
“\x1D” | ^] |
“\x03” | ^C |
欄位內容中若出現上述系統不支援的字元,該記錄將不會同步至應用中;
不可見字元(如:\u0002、\u0003等)會被自動轉換為\t;
目前引擎支援的字元集有限,如下:
CJK_1 (\xe2[\xba-\xbf][\x80-\xbf])
CJK_2 ([\xe3-\xe9][\x80-\xbf][\x80-\xbf])
FULLWIDTH_1 (\xef[\xbc-\xbe][\x80-\xbf])
FULLWIDTH_2 (\xef\xbf[\x80-\xaf])
搜尋相關
項 | 值 |
每個子句(除filter)最大長度 | 編碼前1k,超長後本次請求報錯丟棄 |
filter子句最大長度 | 編碼前4k,超長後本次請求報錯丟棄 |
單次請求最多返回結果數(不分頁) | 500 |
搜尋返回的最大結果數(包括分頁多次請求) | 5000 |
參與基礎排序文檔數 | 100萬 |
參與業務排序文檔數 | 預設200 |
傳統搜尋情境的主要目的是為了盡量短的時間內召回最符合的結果,所以對搜尋結果進行了限制,例如 search方法最多隻能召回5000條文檔。在某些情境下需要提供更多的結果來進行分析工作,可以使用scroll方法來擷取更多的結果
搜尋請求若超出應用配額的LCU量,超出後的請求將被丟棄,並報錯code:6015,message:Dropped by over compute resource quota
索引重建
項 | 值 |
同步速率上限 | 20MB/s |
SQL相關
限制項 | 最大值/限制條件 | 分類 | 說明 |
DDL/DML | N/A | 不支援 | |
全域記憶體限制 | N/A | 不支援 | 避免對全量資料排序打散並返回。如SELECT * FROM t ORER BY id LIMIT 1000000000。資料量過大時會發生OOM。 |
NULL類型 | N/A | 不支援 | 對Left Join等出現NULL類型的情境,會用預設值代替。 |
LIKE/RLIKE | N/A | 不支援 | LIKE/RLIKE在大數量情境下存在效能瓶頸。建議優先使用搜尋方式(QUERY函數)。 |
資料重分布(Re-Shuffle) | N/A | 不支援 | 使用者需要根據業務情境和查詢模式設計好離線資料分布。引擎目前不支援跨分區的資料重分布,對於多表Join或複雜的Agg情境存在一定的限制。 使用者查詢出錯時建議分析下查詢計劃。 |
UDF函數名 | N/A | 建議項 | 避免與SQL關鍵字/保留字重名。重名時需要通過反引號(`)轉義。 |
表名/列名 | N/A | 格式限制 | 表名、列名中不能有特殊字元,以字母開頭,且只能用英文小寫字母(a-z)、英文大寫字母(A-Z)、數字和底線(_)。 |
統計運算元 | 最大Key數量: 500W 最大記憶體使用量: 512M | 數量限制 | 上述限制為單個統計運算元。 |
預設返回結果數量 | 100 | 數量限制 | SQL最外層沒有LIMIT子句,為了防止返回資料過多,預設會增加LIMIT 100。 |
數群組類型 | N/A | 操作限制 |
|
動態參數 | N/A | 操作限制 | 只支援運算式中的常量替換。不支援替換欄位名、表名。不支援替換LIMIT。 |
ORDER BY子句 | N/A | 操作限制 | 必須與LIMIT配對使用。 |
UNION | N/A | 操作限制 |
|
Summary表查詢 | N/A | 操作限制 | Summary表目前不支援全表掃描,查詢時必須包括PK等值條件。 |
子表查詢 | N/A | 操作限制 | 子表內部表示為一個結構化類型(MultiSet)的欄位,該欄位不支援返回。查詢子表時避免使用SELECT *操作。 |
DATE/RANGE索引查詢 | N/A | 操作限制 | 目前不支援使用"="查詢。可以通過QUERY函數查詢,如QUERY('time', '[1, 10]')。 |
Attribute欄位 | N/A | 操作限制 | SQL情境下預設所有欄位均建attribute。TEXT、SHORT_TEXT不支援運算式計算。 |
常量字串 | N/A | N/A | 1、SQL語句中的常量字串需要在兩邊加單引號如:SELECT 'abc' FROM t; 2、SQL語句中的常量字串如果自身包含了單引號,則每個單引號使用兩個單引號來表示,如 SELECT 'ab''c' FROM t; // 字串實際值為ab'c SELECT 'ab''''c' FROM t;// 字串實際值為ab''c; 3、動態參數中字串類型的轉義問題建議參考doc; |