Search command revamp.#4152
Merged
penghuo merged 1 commit intoopensearch-project:mainfrom Sep 15, 2025
Merged
Conversation
f814ea5 to
a3ea99a
Compare
7 tasks
a3ea99a to
ea448a0
Compare
47c0277 to
2bddfad
Compare
penghuo
reviewed
Sep 12, 2025
Comment on lines
+136
to
+137
| | SQUOTA_STRING // Single quotes searching for quotes | ||
| | BQUOTA_STRING // Backticks will also be searched. |
Collaborator
There was a problem hiding this comment.
"search source=log00001 "a'b""
{ "index": { "_id": 3 } }
{"message": "a'b"}
{ "index": { "_id": 4 } }
{"message": "'a'b"}
ppl/src/test/java/org/opensearch/sql/ppl/utils/PPLQueryDataAnonymizerTest.java
Show resolved
Hide resolved
penghuo
reviewed
Sep 12, 2025
a697ed2 to
4c6fd53
Compare
penghuo
previously approved these changes
Sep 13, 2025
integ-test/src/test/resources/big5/queries/desc_sort_timestamp_no_can_match_shortcut.ppl
Outdated
Show resolved
Hide resolved
integ-test/src/test/resources/big5/queries/sort_numeric_asc_with_match.ppl
Show resolved
Hide resolved
ykmr1224
reviewed
Sep 15, 2025
core/src/main/java/org/opensearch/sql/ast/expression/SearchComparison.java
Show resolved
Hide resolved
core/src/main/java/org/opensearch/sql/ast/expression/SearchComparison.java
Outdated
Show resolved
Hide resolved
ykmr1224
reviewed
Sep 15, 2025
Signed-off-by: Vamsi Manohar <reddyvam@amazon.com>
ykmr1224
approved these changes
Sep 15, 2025
penghuo
approved these changes
Sep 15, 2025
Contributor
|
The backport to To backport manually, run these commands in your terminal: # Navigate to the root of your repository
cd $(git rev-parse --show-toplevel)
# Fetch latest updates from GitHub
git fetch
# Create a new working tree
git worktree add ../.worktrees/sql/backport-2.19-dev 2.19-dev
# Navigate to the new working tree
pushd ../.worktrees/sql/backport-2.19-dev
# Create a new branch
git switch --create backport/backport-4152-to-2.19-dev
# Cherry-pick the merged commit of this pull request and resolve the conflicts
git cherry-pick -x --mainline 1 bd40af5cca2c1f7ba7675e700f4c82b973ae3317
# Push it to GitHub
git push --set-upstream origin backport/backport-4152-to-2.19-dev
# Go back to the original working tree
popd
# Delete the working tree
git worktree remove ../.worktrees/sql/backport-2.19-devThen, create a pull request where the |
5 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Note : Although the PR says 70 file changes, most of them are test file changes and PPL query changes in old files. Below are the important files to review.
Summary
The search command has been redesigned with well-defined full text search functionality instead of being an extended where clause with source support. It now supports new search
expressions that translate directly to OpenSearch's query_string DSL for optimal performance.
The new boundary for the search command: it is designed exclusively for full-text search, always pushed down as the first operation, and limited to Lucene query syntax support. Any additional filtering should be achieved using the where command.
The revamped search command leverages https://lucene.apache.org/core/2_9_4/queryparsersyntax.html and only supports:
All search expressions are pushed down to OpenSearch as query_string queries, ensuring efficient data filtering at the storage layer before entering the processing pipeline.
Solution
Key Design Decisions
query-time evaluation
performance
How It Works
Related Issues
Resolves #4007
Check List
--signoffor-s.By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.