ラッパークエリ

任意の他のクエリをbase64エンコードされた文字列として受け入れるクエリです。

Python

  1. resp = client.search(
  2. query={
  3. "wrapper": {
  4. "query": "eyJ0ZXJtIiA6IHsgInVzZXIuaWQiIDogImtpbWNoeSIgfX0="
  5. }
  6. },
  7. )
  8. print(resp)

Ruby

  1. response = client.search(
  2. body: {
  3. query: {
  4. wrapper: {
  5. query: 'eyJ0ZXJtIiA6IHsgInVzZXIuaWQiIDogImtpbWNoeSIgfX0='
  6. }
  7. }
  8. }
  9. )
  10. puts response

Js

  1. const response = await client.search({
  2. query: {
  3. wrapper: {
  4. query: "eyJ0ZXJtIiA6IHsgInVzZXIuaWQiIDogImtpbWNoeSIgfX0=",
  5. },
  6. },
  7. });
  8. console.log(response);

コンソール

  1. GET /_search
  2. {
  3. "query": {
  4. "wrapper": {
  5. "query": "eyJ0ZXJtIiA6IHsgInVzZXIuaWQiIDogImtpbWNoeSIgfX0="
  6. }
  7. }
  8. }
Base64エンコードされた文字列: {"term" : { "user.id" : "kimchy" }}

このクエリは、Spring Data Elasticsearchの文脈でより有用です。これは、ユーザーがSpring Dataリポジトリを使用する際にカスタムクエリを追加する方法です。ユーザーはリポジトリメソッドに@Query()アノテーションを追加できます。そのようなメソッドが呼び出されると、アノテーションのクエリ引数内でパラメータ置換を行い、これを検索リクエストのクエリ部分として送信します。