1

ElasticSearch のクエリに使用する必要がある ( XGETまたはXPOST )。XGETとXPOSTのどちらが検索の応答を速くするか。ありがとう。

4

1 に答える 1

0

GET の引数:

  • 検索は概念的には GET です
  • GET リクエストは通常​​、キャッシング用に最適化されていますが、これは
  • 一部の Elasticsearch 検索は、リクエスト本文を必要とせずに GET リクエストとして実行できます。

POST の引数:

  • 多くのクライアントがサポートしていないため、リクエストボディを使用して GET リクエストを実行するのは困難です (最新のブラウザーの JavaScript XHR を含む)。
  • GET リクエストは通常​​、キャッシュが不要な場合でもキャッシュ用に最適化されます (ただし、 などのクエリ文字列引数を追加するなど、キャッシュを防止する方法は多数あります?time=1376535485) 。
  • 人々は、GET にリクエスト本文があることを期待していません ( HTTP GET with request body を参照) 。
  • キャッシングには、elasticsearch (apache や nginx など) の前に追加のレイヤーが必要ですが、追加のレイヤーがあると gzip 圧縮が可能になるため、これは議論の余地があるかもしれません。

個人的には、シンプルさのために POST を好みます。Elasticsearch はすでに非常に高速であり、非常に使用率の高いシナリオを扱っている場合を除き、elasticsearches が内部で既に行っている以上にリクエストをキャッシュする必要はほとんどありません。

于 2013-08-15T03:14:14.400 に答える