存在するクエリ

フィールドのインデックスされた値を含むドキュメントを返します。

インデックスされた値がドキュメントのフィールドに存在しない理由はいくつかあります:

  • ソースJSONのフィールドが null または [] である
  • マッピングで "index" : false"doc_values" : false が設定されている
  • フィールド値の長さがマッピングの ignore_above 設定を超えた
  • フィールド値が不正で、マッピングで ignore_malformed が定義されていた

例のリクエスト

Python

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

Ruby

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

Go

  1. res, err := es.Search(
  2. es.Search.WithBody(strings.NewReader(`{
  3. "query": {
  4. "exists": {
  5. "field": "user"
  6. }
  7. }
  8. }`)),
  9. es.Search.WithPretty(),
  10. )
  11. fmt.Println(res, err)

Js

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

コンソール

  1. GET /_search
  2. {
  3. "query": {
  4. "exists": {
  5. "field": "user"
  6. }
  7. }
  8. }

存在するためのトップレベルパラメータ

  • field
  • (必須、文字列)検索したいフィールドの名前。
    JSON値が null または [] の場合、フィールドは存在しないと見なされますが、これらの値はフィールドが存在することを示します:
    • """-" のような空の文字列
    • null と他の値(例えば [null, "foo"])を含む配列
    • フィールドマッピングで定義されたカスタム null-value

ノート

インデックスされた値が欠落しているドキュメントを見つける

フィールドのインデックスされた値が欠落しているドキュメントを見つけるには、must_not ブールクエリexists クエリと共に使用します。

次の検索は、user.id フィールドのインデックスされた値が欠落しているドキュメントを返します。

Python

  1. resp = client.search(
  2. query={
  3. "bool": {
  4. "must_not": {
  5. "exists": {
  6. "field": "user.id"
  7. }
  8. }
  9. }
  10. },
  11. )
  12. print(resp)

Ruby

  1. response = client.search(
  2. body: {
  3. query: {
  4. bool: {
  5. must_not: {
  6. exists: {
  7. field: 'user.id'
  8. }
  9. }
  10. }
  11. }
  12. }
  13. )
  14. puts response

Js

  1. const response = await client.search({
  2. query: {
  3. bool: {
  4. must_not: {
  5. exists: {
  6. field: "user.id",
  7. },
  8. },
  9. },
  10. },
  11. });
  12. console.log(response);

コンソール

  1. GET /_search
  2. {
  3. "query": {
  4. "bool": {
  5. "must_not": {
  6. "exists": {
  7. "field": "user.id"
  8. }
  9. }
  10. }
  11. }
  12. }