Skip to content

Conversation

@ruoliu2
Copy link

@ruoliu2 ruoliu2 commented Jan 17, 2026

Summary

  • Adds index_filter parameter support for the ES-compatible _field_caps endpoint
  • Parses ES Query DSL (term, bool, range, match, etc.) and converts to internal QueryAst
  • Passes query through to leaf nodes for future split-level filtering
  • Adds unit tests and REST API integration tests

Test plan

  • Unit tests for index_filter parsing (6 tests)
  • REST API integration tests for various query types
  • Verify invalid queries return 400 Bad Request
  • Existing field_caps tests still pass

Notes

This implementation accepts and parses the index_filter parameter for API compatibility with Elasticsearch. Full split-level document filtering (executing queries to prune splits with no matching documents) can be added as a follow-up enhancement.

Closes #5693

🤖 Generated with Claude Code

@ruoliu2 ruoliu2 marked this pull request as draft January 17, 2026 09:41
@ruoliu2 ruoliu2 marked this pull request as ready for review January 17, 2026 09:56
@ruoliu2 ruoliu2 force-pushed the feature/5693-index-filter-field-caps-api branch 3 times, most recently from 1753d4c to 60cde2c Compare January 17, 2026 11:13
Implements index_filter parameter support for the ES-compatible
_field_caps endpoint, allowing users to filter field capabilities
based on document queries.

Changes:
- Add query_ast field to ListFieldsRequest and LeafListFieldsRequest protos
- Parse index_filter from ES Query DSL and convert to QueryAst
- Pass query_ast through to leaf nodes for future filtering support
- Add unit tests for index_filter parsing
- Add REST API integration tests

Note: This implementation accepts and parses the index_filter parameter
for API compatibility. Full split-level document filtering will be
added as a follow-up enhancement.

Closes quickwit-oss#5693

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Signed-off-by: ruo <ruoliu.dev@gmail.com>
@ruoliu2 ruoliu2 force-pushed the feature/5693-index-filter-field-caps-api branch from 60cde2c to 7173546 Compare January 17, 2026 11:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

index_filter support for field capabilities API elastic search compatible endpoints

1 participant