すべてのプロダクト
Search
ドキュメントセンター

OpenSearch:スクロール検索

最終更新日:Dec 28, 2024

シナリオ

通常の検索では、最も一致する結果をできるだけ短時間で取得することを目的としています。そのため、返される結果に含めることができるドキュメントの数には制限があります。たとえば、通常の検索の戻り結果には、5,000 件を超えるドキュメントを含めることはできません。ただし、シナリオによっては、分析のためにさらに多くの結果が必要になる場合があります。この場合、スクロール検索を使用してより多くの結果を取得できます。

パラメーター

リクエストパラメーター

パラメーター

タイプ

必須

有効な値

デフォルト値

説明

scroll

STRING

はい

週、日、時、分、または秒単位で値を設定できます。

スクロール検索の次回の実行のために返されるスクロール ID の有効期間(週(w)、日(d)、時(h)、分(m)、または秒(s)単位)。例:1m。

search_type

STRING

はい

scan

スクロール検索のタイプ。このパラメーターは、スクロール検索の最初の実行時にのみ指定する必要があります。スクロール検索の後続の実行では、scroll_id パラメーターを指定できます。

scroll_id

STRING

はい

スクロール検索のために返される ID。スクロール検索を初めて実行すると、スクロール ID のみが返されます。検索結果を取得するには、この ID を使用してスクロール検索を再度実行します。スクロール検索の後続の実行では、この ID はリクエストパラメーターとして必須であり、レスポンスパラメーターとしても返されます。

fetch_fields

STRING

検索結果に返されるフィールド。

レスポンスパラメーター

パラメーター

タイプ

説明

status

STRING

リクエストの実行結果。有効な値:OK および FAIL。OK の値は、リクエストが成功したことを示します。FAIL の値は、リクエストが失敗したことを示します。この場合、エラーコードに基づいてエラーをトラブルシューティングします。

request_id

STRING

リクエストの ID。トラブルシューティングに使用されます。

result

STRING

戻り結果。searchtime、total、num、viewtotal、items、facet、および scroll_id パラメーターが含まれます。

errors

STRING

エラー情報。error_message パラメーターはエラーメッセージを示します。エラーコードの詳細については、エラーコードを参照してください。

説明

スクロール検索の戻り結果は、fullJSON および JSON 形式のみをサポートしています。

サンプルレスポンス

スクロール検索の最初の実行に対するレスポンス:

{
    "status": "OK",
    "request_id": "150150574119953661605242",
    "result": {
        "searchtime": 0.005029,
        "total": 1,
        "num": 0,
        "viewtotal": 1,
        "scroll_id": "eJxtUMtuhDAM/BrvOYQC5cABdulvRFFIirsm2TpBavv1Ndut1EMlS36NZ0Y2ZHMxbueceAjIuWCMnrPjRITLyfzZm83y9V QVGT8x80U3PxQNUqieVZV1/an4ItbTUBPSx5wgXqKdvOSbmuKR8ZYjGWWirB4tvToAiX7u3G2eCNK77vnz8GlGPAV6suKBeqxAn0OiTd7NGEnesspyoyFLF6hecn4JUKjVgp0K3FnkfMfIyPoDuYWegX9GeYOpicY9TG8gwOSuBL04X1 MMg3ROwCesLlG6X7a2o=",
        "items": [],
        "facet": []
    },
    "errors": [],
    "tracer": ""
}

スクロール検索の後続の実行に対するレスポンス:

{
    "status": "OK",
    "request_id": "150150574119952551519970",
    "result": {
        "searchtime": 0.006293,
        "total": 1,
        "num": 1,
        "viewtotal": 1,
        "scroll_id": "eJxNT9tugzAM/RrznIRC4YEHaNlvRFFIhteQtE6Qtn39TNdJk2z5dnx8rIPJRdudcqKhl60Uir2Vp06ISv8b6s3QbZCVzpaCdp93XXBzg2wEW9MJ2dWq8q7YVXt0YckDLlBP0WyOw31N8YgYizZEnAUsjkx4VT4k8zexpjiNS/XYHX0NNkWP71BfVyxQjxLUxSfazFH4PYSPnCL3iMniDZq3jN98aFRCgGrZniy8/itkBHWGuYVeQH+B+QzTCUZ1NJ9gj4FVMfrQPr8Y+Hk+dgU14fIDVhtfTw==",
        "items": [
            {
                "fields": {
                    "cate_id": "0",
                    "float_arr": "0",
                    "id": "1",
                    "int_arr": "0",
                    "literal_arr": "Search",
                    "name": "Search",
                    "phone": "1381111****",
                    "index_name": "app_schema_demo"
                },
                "property": {},
                "attribute": {},
                "variableValue": {},
                "sortExprValues": [
                    "1"
                ]
            }
        ],
        "facet": []
    },
    "errors": [],
    "tracer": ""
}

使用上の注意

  • スクロール検索は、INT タイプの単一フィールドに基づくソートをサポートしています。この機能を実装するには、OpenSearch API および OpenSearch SDK のバージョンが V3 である必要があります。

  • スクロールは、検索のすべての一致する結果を取得するために使用され、aggregate 句と distinct 句rank 句、およびクエリ分析はサポートしていません。

  • スクロール検索を実行すると、config 句で指定した start パラメーターは有効になりません。この場合、デフォルト値の 0 が使用されます。これは、ページをスキップできないことを示します。スクロールクエリの場合、各結果セットのドキュメント数は 500 を超えることはできません。

  • 初めてスクロール検索を実行するときは、hit パラメーターを指定する必要があります。各結果セットで返されるドキュメント数は、最初に指定した hit パラメーターに基づいて決定されます。後続のスクロール検索で hit パラメーターの値を変更しても、変更は有効になりません。
  • 最初のスクロールクエリを実行すると、スクロール ID が返されます。ドキュメントデータを取得するには、このスクロール ID を使用してスクロールクエリを再度実行します。

  • エラーが発生したかどうかを判断するには、ステータス情報ではなく、エラーコードとメッセージを使用します。詳細については、エラーコードを参照してください。

  • 返されたスクロール検索のエラーメッセージが「スクロールリクエストの有効期限が切れました」である場合は、scroll パラメーターを変更します。

SDK デモコード

説明

注:

1. スクロール検索を実行すると、config 句で指定した start パラメーターは有効になりません。config 句の hit パラメーターを使用して、各結果セットのドキュメント数を指定できます。

2. スクロール検索は、aggregate 句、distinct 句、および rank 句をサポートしていません。スクロール検索は、INT タイプの単一フィールドに基づくソートをサポートしています。

3. アプリケーションをまたがるスクロール検索はサポートされていません。

4. リクエストの scroll_id パラメーターの値が無効な場合、エラーが発生します。

5. スクロール検索の戻り結果は、fullJSON および JSON 形式のみをサポートしています。

6. スクロール検索を初めて実行すると、スクロール ID のみが返されます。ドキュメントデータを取得するには、この ID を使用してスクロール検索を再度実行します。

OpenSearch SDK for Java のスクロール検索に関連するデモコード

通常のスクロール検索を実装するためのデモコード

反復スクロール検索を実装するためのデモコード

OpenSearch SDK for PHP でスクロール検索を実装するためのデモコード

スクロールクエリを実装するためのデモコード

スクロール検索に関連する API 操作

検索リクエストを開始する