リソースデータ検索 FAQ

リソースデータ検索API呼び出し時のQuery指定で、以下のようなデータのKey3のプロパティ項目に対して時刻を以下のように設定したいのですが、key3に設定した時刻指定での検索をすることはできるでしょうか?
[
  {Key1:a,Key2:b,Key3:2015-07-21 10:00},
  {Key1:d,Key2:e,Key3:2015-07-21 11:00}
]

Body文が登録された時刻(ISO8601形式)はFilter演算子にて比較可能ですが、Body文の中に登録されている時刻はFilter演算子で比較できません。整数の形であれば比較可能となります。そのため、Body文に時刻を記載する際は以下のように整数の形で記載することを推奨します。
登録するBody文の例:(12時に登録)
{
KeyArray:[
  {"Key1":"a","Key2":"b","Key3_date":150721,"Key3_time":1000},
  {"Key1":"d","Key2":"e","Key3_date":150721,"Key3_time":1100},
  {"Key1":"g","Key2":"h","Key3_date":150721,"Key3_time":1200}
]
}
検索例:(10時~11時の間で検索)
http://<BaseURI>/v1/<リソースパス>/_past?$KeyArray.Key3_date eq 150721 and
(KeyArray.Key3_time ge 1000 and KeyArray.Key3_date le 1100
この場合条件に一致したKeyArrayが丸ごと返却されます。
必要な情報の抽出はアプリの中で行うこともできますが、ver3から対応されるselect機能を用いることで、API呼び出し時点で抽出させることもできます。
1回のAPI呼び出しで取得できるデータ件数の制限はありますか?
制限がある場合、2回目のAPI呼び出しにて、継続して取得できる方法を教えてください。
1回のAPIで取得できるのは、1000件までになります。また、1000件以下であっても、取得の総サイズが16MBを超えるデータについても1回の呼び出しでは取得できません。
1000件以上前のデータを取得したい場合、変数topおよびskipを使用すると取得可能です。
例えば2000件登録されていた場合、
<リソースパス>?$top=1000&$skip=1000 によって、1001件目~2000件目を取得できます。
また、filter検索で条件を指定することでも検索可能です。
取得したいデータの検索条件にヒットするデータが、2000件登録されていた場合、2回APIを呼び出さないと対象データが取得できないと思いますが、1回目の呼び出しの返却値にて、継続呼び出しを判定できる返却値はありますか?
1000件以上登録されているか否かの確認には、以下のいずれかの方法を利用してください。
・_countオプションでの検索による件数を取得する方法。
・_pastによる取得結果として400応答が返った際の、Body部の判断による方法。

以下の内容の返却の場合、1000件以上のデータ件数であると判断できます。
{"errors":[{"message":"number of response-data is larger than
1000.","acceptable_top": XXXX}]}
filter条件の演算子ですが、and(論理積)、or(論理和)がありますがnot(論理否定)はありますでしょうか。
論理否定notはございません。
ne(不等号)などを用いる事で活用願います。
例えば(Key1=AかつKey2=B)の否定を実現したい場合、key1≠A または key2≠B
と等価なので、
  $fiter=key1 ne 'A' or key2 ne 'B'
登録データとして、整数:long値であるデータを登録し、リソースデータの検索APIで検索するとリソースデータのvalueが以下のように指数表記形式で返却されています。
整数:long値であるデータを登録すると、指数表記形式で返却する仕様なのでしょうか。
・登録データ
{・・・,"data":1451891730932,・・・}
・返却データ
{・・・,"data":1.451891730932e+12,・・・}
JSONデータBody内で扱うことができる数値に関する仕様は以下のとおりとなりま
す。以下についてはAPIユーザーガイドにも記載しています。

整数:-999999~999999
実数:有効数字17桁(18桁目から切り捨て)

上記範囲外の整数の書き込みに関しては17桁まで可能ですが、範囲外の数値を
書き込んで読み出した場合に指数表記となります。
リソースデータ検索時にHTTPステータスコード503が返却され、データが取得できない場合があるのですが、どのような要因が考えられるでしょうか?
一時的にシステムが過負荷となっている可能性がありますので、まずはリトライしてみてください。

リトライしても503応答となる場合は、1つのリソースに大量にデータが溜めている
状態となっている可能性があります。この場合の回避策としては
・検索条件を日付指定で絞りhit件数が少なくなるような検索
・不要リソースデータの削除
・1つのリソースにデータをたくさん溜めないような運用(リソースを分散してデータ蓄積)
を実施していただくことで事象が改善されます。なお、不要リソースデータの削除につきましては、リソースデータの保存期間を短く設定しなおすことでも対応可能です。

どの程度の蓄積があると503が発生するか、についてはシステム状況により変動する可能性がございますので、詳細な値は回答できませんが、目安としては1リソースあたり100MB以下の蓄積量としていただくことを推奨します。