Skip to content

Use IN and NOT IN subqueries in EVAL expressions #8143

Description

@florent-leborgne

Summary

The ES|QL editor now suggests and validates `IN` and `NOT IN` subqueries in EVAL, for example `EVAL col = keywordField IN (FROM other_index | KEEP keywordField)`. Published language docs still say IN subqueries work only in WHERE and are not supported in other commands. Confirm that Elasticsearch accepts IN in EVAL before rewriting that limitation.

Why this needs docs: Editor now treats EVAL as an IN subquery context, but published docs still limit IN subqueries to WHERE.

Resources

  • PR #286735 — [ESQL] Enable in subquery in eval

Availability

Channel Details
Stack v9.6.0
Serverless Aug 31–Sep 4
Feature flag None — active by default

Created with Docs Quest Scanner by @florent-leborgne

Suggested edits

Use ES|QL subqueries with IN and NOT IN > IN subqueries are only supported in the WHERE command

  • What the docs say: An IN subquery can only appear in the WHERE command. It is not supported in other commands.
  • What to add: If Elasticsearch accepts IN in EVAL, update this limitation and add an EVAL example such as `FROM index | EVAL col = field IN (FROM other | KEEP field)`. Also update the opening sentence that ties IN subqueries to WHERE only. Applies from 9.6.0 and in serverless.

Nest ES|QL queries using subqueries > Learn more

  • What the docs say: You can use subqueries in two places: in a FROM command, and in a WHERE command with IN or NOT IN.
  • What to add: If IN in EVAL is supported, mention EVAL as a third place for IN and NOT IN subqueries. Applies from 9.6.0 and in serverless.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Feature: ES|QLDocs issues for ES|QLTeam:SKIIssues owned by the SKI Docs Team

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions