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

:スクロール検索

最終更新日: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",
                    "litteral_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 句ラフソート式とファインソート式、またはクエリ分析はサポートしていません。

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

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

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

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

  • 「Scroll_id is expired」というエラーメッセージが返された場合、スクロール検索の有効期限が切れています。scroll パラメーターを変更してください。

SDK デモ

説明

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

2. スクロール検索では、aggregate 句と distinct 句、またはラフソート式とファインソート式はサポートされていません。スクロール検索では、INT タイプの単一フィールドに基づく並べ替えがサポートされています。

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

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

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

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

Java

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

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

PHP

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

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

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