-
Notifications
You must be signed in to change notification settings - Fork 8.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Search] Server side search API #70446
Conversation
@elasticmachine merge upstream |
@elasticmachine merge upstream |
delete search explorer
0ca8076
to
696215b
Compare
@elasticmachine merge upstream |
merge conflict between base and head |
Pinging @elastic/kibana-app-arch (Team:AppArch) |
@elasticmachine merge upstream |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Played around with this locally, seems to be working. I did notice that we seem to be swallowing timeout errors now, but I'm not sure if it's related to this PR or not. I did leave a couple of minor comments below.
Eventually, we also need to figure out a way to expose a way for server-side code to poll at an interval (similar to what we do client-side), but I think that can be left for a future PR.
context: RequestHandlerContext, | ||
request: IEsSearchRequest, | ||
options?: ISearchOptions | ||
) => Promise<IEsSearchResponse>; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this is fine for now but we may need to have a chat about how solutions teams/plugin developers may want to eventually return custom responses (other than IEsSearchResponse
).
@elasticmachine merge upstream |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good!
… into search/server-side-search
* [search] Refactor the way search strategies are registered/retrieved on the server * Fix types and tests and update docs * Fix failing test * Move strategy name into options * Remove FE strategies * TypeScript of hell delete search explorer * Fix search interceptor OSS tests * test cleanup * fix * return search wrapper * initial api * Shiny happy cleanup * docs * fix jest test * simplify strategy registration * fix rebase * fix rebase * fix backport * types * TS for strategy * docs Co-authored-by: Lukas Olson <olson.lukas@gmail.com> Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
* [search] Refactor the way search strategies are registered/retrieved on the server * Fix types and tests and update docs * Fix failing test * Move strategy name into options * Remove FE strategies * TypeScript of hell delete search explorer * Fix search interceptor OSS tests * test cleanup * fix * return search wrapper * initial api * Shiny happy cleanup * docs * fix jest test * simplify strategy registration * fix rebase * fix rebase * fix backport * types * TS for strategy * docs Co-authored-by: Lukas Olson <olson.lukas@gmail.com> Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com> Co-authored-by: Lukas Olson <olson.lukas@gmail.com> Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
* master: (21 commits) [Maps] 7.9 design improvements (elastic#71563) [ML] Changing all calls to ML endpoints to use internal user (elastic#70487) [eventLog] prevent log writing when initialization fails (elastic#71339) [Observability] landing page always being displayed (elastic#71494) [IM] Address data stream copy feedback (elastic#71615) [Logs UI] Anomalies page dataset filtering (elastic#71110) [data.search.aggs] Remove `use_field_mapping` from top hits agg (elastic#71168) [ML] Anomaly swim lane embeddable navigation and filter actions (elastic#71082) Fixes typo in siem_cloudtrail job description (elastic#71569) Require granted API Keys to have a name (elastic#71623) Update getUsageForCollection (elastic#71609) Only fetch saved elements once (elastic#71310) [SecuritySolution][Resolver] Adding siem index and guarding process ancestry (elastic#71570) [APM] Additional data telemetry changes (elastic#71112) [Visualize] Fix export table for table export links (elastic#71249) [Search] Server side search API (elastic#70446) use inclusive language (elastic#71607) [Security Solution] Hide timeline footer when Resolver is open (elastic#71516) [Index template wizard] Remove shadow and use border for components panels (elastic#71606) [ML] Kibana API endpoint for histogram chart data (elastic#70976) ...
Can you please add a Dev Doc section in the PR Summary? Release notes pull the summary of the PR from the Dev Doc section. |
💔 Build Failed
Failed CI Steps
Test FailuresKibana Pipeline / kibana-oss-agent / Chrome UI Functional Tests.test/functional/apps/context/_date_nanos·js.context app context view for date_nanos displays predessors - anchor - successors in right orderStandard Out
Stack Trace
Kibana Pipeline / kibana-oss-agent / Chrome UI Functional Tests.test/functional/apps/context/_date_nanos·js.context app context view for date_nanos displays predessors - anchor - successors in right orderStandard Out
Stack Trace
Kibana Pipeline / kibana-oss-agent / Chrome UI Functional Tests.test/functional/apps/dashboard/dashboard_filter_bar·js.dashboard app using current data dashboard filter bar filter editor field list shows index pattern of vis when one is addedStandard Out
Stack Trace
and 8 more failures, only showing the first 3. Build metricsSaved Objects .kibana field count
History
To update your PR or re-run it, just comment with: |
Summary
Depends on #69333
This PR simplifies some of the server side search type script and exposes a server side search service.
Dev Docs
This PR introduces a new server side search API.
The request should contain the query DSL.
const searchPromise = dataStart.search.search(context, request, options);
Note that in OSS, queries are executed synchronously. In Basic license, this API returns either the results, or for longer queries, it returns an ID that can be used to retrieve the results by polling.