This PR evolves Kuery into a simplified, more lucene-like language. In a follow up PR we plan on getting rid of the language switcher dropdown and instead add a checkbox that will allow users to opt-in to this syntax, which will feel less like a separate language and more like a set of enhancements to the existing lucene query syntax.
This PR also updates the simple grammar to solve the following:
* Wildcards in field names
* "is one of" shorthand (e.g. foo:(bar OR baz OR qux))
* Don't split on whitespace (require explicit AND/ORs, case insensitive)
* "exists" query (e.g. foo:*)
* Improved range query shorthands (e.g. foo <= 1)
* Wildcard queries
Since this new syntax is simpler and does not support every filter type like old Kuery did, this PR also brings back the filter bar when kuery is selected in the language picker.
See the documentation updates in this PR if you need an overview of the new syntax (and let us know if the documentation is lacking).
* [server/rewriteBasePath] add option to enable basePath rewriting
* [server/rewriteBasePath/docs] end sentences with periods
* [server/rewriteBasePath] simplify Joi schema a smidge
* [server/rewriteBasePath] rename test file to match source
* [server/rewriteBasePath] initialize server in before/after hooks
* [server/rewriteBasePath] rephrase deprecation warning
* [server/config/schema] verify that non-strings are not accepted for basePath
* [server/config/schema] toss a trailing comma in there
* [kbn-plugin-generator] add plugin generator to the repo
* [plugin-generator] use snake_case plugin name for directory name
* [plugin-generator] fix typo
* [plugin-generator] remove translation support until we resume i18n efforts
* [yarn] update lockfile
* [mocha] remove plugin-generator selector from mocha tests
* [plugin-generator] update generated readme to recommend yarn
* [plugin-generator] add readme to generator pacakge
* [plugin-generator] link from plugin-resource docs
* [plugin-generator] mention very important `kbn bootstrap` script
* [plugin-generator] rework some parts of the README
* [plugin-generator] log actual directory name with system separators
* [plugin-generator] include bootstrap/yarn preinstall check script
* tutorial docs
* fixes from ycombinator review
* ElasticSearch -> Elasticsearch
* move out of style guide and into README under server/tutorials
* move to asciidocs
* add new line so list is rendered correctly
* changes from gchaps review
* [docs] uniform colons
* [docs] Add more text about elasticsearch.ssl settings
* [docs] Add more text about elasticsearch.ssl.verificationMode setting
* [docs] spelling error
* [docs] clarify wording
* Switch to Yarn (#15485)
* switch to yarn
* cleanup misc references to npm
* [yarn] loosen dependency ranges so yarn will merge more deps
* fix linting error now that moment uses ESM
* [licenses] font-awesome changed the format of its license id
* Use local yarn
* Misc fixes
* eslintignore built yarn file
* Remove mkdir which doesn't do what it should do
* Check build without upgrading lots of versions
* Fix license check
* too many moments
* Better description
* Review fixes
* Lock to angular@1.6.5
* More specific version locks
* Revert "More specific version locks"
This reverts commit 11ef81102e.
* Revert "Lock to angular@1.6.5"
This reverts commit 3ade68c14c.
* rm yarn.lock; yarn
* Forcing a specific version of React, Angular, Moment
* Using vendored version of yarn in ci
* Use --frozen-lockfile
* fixes
* Update lockfile
* Region map settings clarifications (#14893)
Improve documentation.
This also includes some additions to clarify the new includeElasticMapsService setting.
It also fully qualify all parameter names.
* Simplify promise setup logic
* Import template from own file
* Use angular.element instead of jquery
* Add documentation for loader methods
* Add params.append
* Remove params.editorMode
* Clarify when returned promise resolves
* Add element to handler
* Allow setting CSS class via loader
* Use render-counter on visualize
* Use Angular run method to get access to Private service
* Allow adding data-attributes to the vis element
* Refactor loader to return an EmbeddedVisualizeHandler instance
* Use this.destroy for previous API
* Remove fallback then method, due to bugs
* Reject promise from withId when id not found
* Add tests
* Change developer documentation
* Revert "Use Angular run method to get access to Private service"
This reverts commit 160e47d7709484c0478415436b3c2e8a8fc8aed3.
* Rename parameter for more clarity
* Add more documentation about appState
* Fix broken test utils
* Use chrome to get access to Angular
* Move loader to its own folder
* Use a method instead of getter for element
* Add listeners for renderComplete events
* Use typedef to document params
* Fix documentation
* Simplify promise setup logic
* Import template from own file
* Use angular.element instead of jquery
* Add documentation for loader methods
* Add params.append
* Remove params.editorMode
* Clarify when returned promise resolves
* Add element to handler
* Allow setting CSS class via loader
* Use render-counter on visualize
* Use Angular run method to get access to Private service
* Allow adding data-attributes to the vis element
* Refactor loader to return an EmbeddedVisualizeHandler instance
* Use this.destroy for previous API
* Remove fallback then method, due to bugs
* Reject promise from withId when id not found
* Add tests
* Change developer documentation
* Revert "Use Angular run method to get access to Private service"
This reverts commit 160e47d7709484c0478415436b3c2e8a8fc8aed3.
* Rename parameter for more clarity
* Add more documentation about appState
* Fix broken test utils
* Use chrome to get access to Angular
* Move loader to its own folder
* Use a method instead of getter for element
* Add listeners for renderComplete events
* Use typedef to document params
* Fix documentation
* apply patch
add styling
remove cruft
split up concept of experimental and labs
adjust wording
* improve wording
* improve wording & punctuation. remove concept of feedback-url
* remove duplicate labeling between labs/experimental; resolve some typos
* merging isExperimental and isLabs flags to a stage setting
* adding the option to override feedback message back (and improving it)
* updating the docs
* change text labs to lab
* visualize:enableLabsVisualizations to visualize:enableLabs
* fixing github link
* enable turning on/off of warnings
* add tooltip
* add server setting so users can opt out of connecting to the EMS service
* replace WMS options with custom directive, so we can reuse it in region maps
* add wms settings form to Region Map
* no need to recreate map after leaflet upgrade
* add WMS map to region map
* linting issues
* fix rebase
* improve wording
* add global config
* fix typo
This prevents users from using tools which insert dashboards/visualizations directly into the index, which would cause Kibana to stop functioning.
Signed-off-by: Tyler Smalley <tyler.smalley@elastic.co>
Introduces bin/kibana-keystore providing create, list, add, and remove actions.
Settings stored within the keystore will be loaded at runtime.
Signed-off-by: Tyler Smalley <tyler.smalley@elastic.co>
This setting is not available until 5.6. Users are technically able to re-index against a previous version. If a user manually migrates their index without this setting and visits the Upgrade Assistant in 5.6, Kibana will still be shown as needing to be re-indexed, however it will fail with "Index .kibana-6 already exists. There may be an unfinished task reindexing to this index, or this index may have not been cleaned up previously."
Signed-off-by: Tyler Smalley <tyler.smalley@elastic.co>
* [timelion] remove last remaining amd modules
* [eslint-config-kibana] remove env.amd
* [webpack] use absolute loader names
* [webpack] remove absolute node_modules/ imports
* [webpack] upgrade to webpack 3
* [uiFramework] make webpack build compatible with v3
* [eslint-import-resolver] use https://github.com/elastic/eslint-import-resolver-kibana/pull/21
* [baseOptimizer] don't break when pkg has no dependencies
* [optimize] remove unnecessary json-loader
* [optimize] remove local references to webpack vars
* [eslint] upgrade to eslint-import-resolver-kibana 0.9.0
* [baseOptimizer] comment tweaks
* [baseOptimizer] remove loader pinning
In webpack 1 the loaders defined here were resolved relative to the file they were going to load, which meant that plugins in other projects could accidentally overwrite the loaders Kibana was trying to use, which is why the aliases were used to enforce proper resolution.
In webpack 2 loaders are now resolved relative to the webpackConfig.context, which is set to the root of the Kibana repo. See https://webpack.js.org/configuration/module/#useentry
* [webpack] rely on kibana webpack shims before checking node_modules
(cherry picked from commit f60639fccb)
Update Docker docs for 6.0.0 and image flavours
* Use Compose v2 in Docker examples
* Use US spelling in Docker docs
* Link to www.docker.elastic.co in docs
We must ensure errors produced when multiple types are used in order to fall back tothe v6 format of a single type
Signed-off-by: Tyler Smalley <tyler.smalley@elastic.co>
* Check sort:options for Discover default sort order
I went back and forth on a lot of different solutions for this.
Initially I thought it would make sense to just allow users to set a
default saved search in Discover. There were some problems with that
approach though. It would change the default workflow in Discover.
Instead of starting with an unsaved search, users would be editing a
saved search by default. I could see this leading to a lot of
unintentional changes to the default. The settings from the default
saved search also wouldn't carry over to new searches, which I think
would be desirable most of the time.
I also considered adding a new advanced setting for specifying a default
sort field/direction. This kind of setting would make more sense at the
index pattern level though. One field may not be valid across all index
patterns.
So I ended up going with the simplest solution. It solves the issue
identified by the author of the linked issue and nothing more. If a sort
order is specified in the existing sort:options advanced setting, we'll
use that direction when sorting on the index pattern's timestamp field
by default.
Fixes https://github.com/elastic/kibana/issues/5164
* Create a new advanced setting instead of re-using sort:options
* Just pass a default order
* Re-enable filter editor suggestions
* Use search instead of include
* Escape query
* Show spinner
* Use include rather than search
* Add additional regex and explanation for parameters
* Add suggestions API test
* Make sure test actually runs
* Use send instead of query
* Fix suggestions API test
* upgrade leaflet modules to 1.x latest
* fix css for leaflet controls
* update draw options so it is easier to see polygon when drawing
* fix chrome touch issues with closing polygon in leaflet draw
* use canvas renderer
* use leaflet-responsive-popup to avoid tooltip cutoff
* remove radius configuration from leaflet heatmap
* make blur a factor of radius. Set maxZoom to map zoom since new values are calculated per precision
* use _.get to avoid error, cannot read property of undefined
* add cluster size slider
* experiments with image differences
* onload not onLoad
* use canvas dimensions
* compare map canvas to stored PNG of map canvas
* remove pixelmatch from project dependecies
* fix broken test - rounding error
* add expected image tests for geohash layers shaded circles and geohash grids
* bump z-index of vis-spy
* update functional test expected data
* update to leaflet 1.2.0
* revert to leaflet 1.0.3 and update expected data set for map functional tests
* test geohash_layer heatmap in unit test
* update region_map functional test since it can not longer pluck map vectors from DOM
* update documentation
* add markdown functional test
* update markdown vis to use markdown-it
* migrate markdown angular filter to markdown-it
* place other uses of marked and remove dependency
* update breaking changes documenation and set linkify to true
Fixes#13563
Brings additional attention to the fact that Kuery uses implicit ANDs whereas Lucene query syntax uses implicit ORs, which could confuse users if they're not aware of the difference.
* Change use of all_fields in highlight_query to default_field
* Remove highlight query and option
* Fix tests
* Remove unused setting
* Remove lingering references to all_fields
* Configurable custom response headers for server
The server.customResponseHeaders configuration allows users to configure
custom headers to send on all responses to the client from anywhere in
the Kibana server.
This can be useful for setting headers like x-frame-options when you
don't want people embedding even Kibana dashboards in an iframe.
* Consistent header overriding and explicit unknown
The documentation for setting Kibana options with environment variables under
Docker was brittle and difficult to maintain. Rather than list every option,
this change describes the method by which they are defined, thus avoiding the
need to edit the docs in multiple places when a new option is introduced.
This adds the attribution strings of vector data files to the map. It also enables the map to allow for individual attribution strings from each individual layer, so attribution gets updated correctly when adding/removing layers.
- httpolyglot is removed, we no longer automatically redirect from http to https
- server.ssl.redirectHttpFromPort option added to allow for http -> https redirect from one port to another
- We no longer start the dev server with tls by default, it can be turned on with the --ssl flag, npm start -- --ssl, or ./bin/kibana --dev --ssl
- There will currently be error log messages if you connect over the wrong protocol, we have #11209 for downgrading these
* [indexPatterns] remove support for time patterns
* Revert "[indexPatterns] remove support for time patterns"
This reverts commit 4263e37c66.
* [indexPatterns] remove ability to create time-based patterns
* [indexPattern/routes] fix export of routes for stub
* [Storage] export Storage class for testing
* [indexPatterns/unsupportedTimePatterns] add tests
* [indexPatterns] focus warning check module
* [indexPatterns/tests] fix method name
* add metion of this change to migration docs
* disable warnings by default until we have a migration tool
* prevent the warning from disapearing
* fix grammar
* enabled warnings in the tests
Using fields with docvalues (like `_doc`) for tie-breaking yields
significantly better performance than using `_uid`, which lacks
docvalues at the moment. The downside is that sorting by `_doc` by
default is not stable under all conditions, but better than no
tie-breaking at all.
The new setting `context:tieBreakingFields` enables the user to
customize the list of fields Kibana attempts to use for tie-breaking.
The first field from that list, that is sortable in the current index
pattern, will be used. It defaults to `_doc`, which should change to
`_seq_no` from version 6.0 on.
In addition to just showing a notification, errors that occur while
loading documents from the database will be stored as part of the
`loadingStatus` along with a reason code (if known). This is used to
display more nuanced and helpful error messages to the user.
The first such error message indicates a missing or invalid tiebreaker
field required for sorting the context.
- Users can now create choropleth maps. This requires configuring an inner join between the results of a term-aggregation and a reference vector layer. This vector layer needs to be in the GeoJson format. By default, Kibana uses vector layers serverd by a data service hosted by Elastic. Users can also bring in their own layers by adding configuration entries in the kibana.yml. These need to point to a CORS-enabled data service that accepts requests from the Kibana application.
- For clarity, the tilemap is renamed to Coordinate Map.
- A new manifest is published by Elastic. this includes metadata for the available tilemap services, as well as metadata for the available vector data layers.
Prior to version 4.2.0, kibana.yml configurations used underscore as a
separator. In 4.2.0, this changed to dot instead, though the old
configuration names continued to work. In 5.0 we started logging
deprecation notices whenever the underscore-separated configurations
were encountered. Now we remove support for them entirely.
Using the --dev flag is the only support way to change the internal
Kibana environment to something else. Allowing NODE_ENV to be set at all
can have unexpected results with our dependencies, so we now always set
it to production.
The discover:aggs:terms:size config value was never added to the default values, so when the trash-button is clicked it removes the config completely and causes discover to send an empty size param to visualize.
* Changing shakespeare bulk upload command for 6.0
* file path and mapping change
changing the file path for shakespeare and the mapping type from default to doc
* removing underscore for doc and changing file name
* removing extra spaces in the map shakespeare command
* removing spaces before the colon
* removing extra spaces
* Fixes#11231 - Adds check for max_bucket size for Time Series Visual Builder
* Added Math.floor() to bucket calculation; changed error message; changed option description
* Adding limitations section to Kibana docs
* Language fixes
* Remove workaround
* Wording change
* Also mention `copy_to` along with `include_in_parent`
* Adding note about searching on nested objects
* [functional_test_runner] replace functional testing tools with custom/pluggable solution
* [functional_test_runner] Convert unit tests to commonjs format
* [functional_test_runner] Fix dashboard test in wrong mode
* [functional_test_runner] Add dashboardLandingPage test subject
* [functional_test_runner] Get Visualize page object
* [functional_test_runner] Fix outdated references
* [functional_test_runner] Fix more outdated refs
* [functional_test_runner] Remove duplicate tests
* [functional_test_runner] Improve test readability
* [functional_test_runner] 😞 So many duplicate methods
* [functional_test_runner] Move mgmt `before` outside toplevel describe
* [functional_test_runner] Settings page obj missing methods
* [functional_test_runner] Add improvements from @gammon
* [functional_test_runner] Fix return statements in async funcs
* [functional_test_runner] Move before() to correct scope
* [functional_test_runner] Add after() hooks to remove index patterns
* [functional_test_runner] Attempt to fix vertical bar chart tests
* [functional_test_runner] Clean up
* [functional_test_runner] Reinstate unit tests
* [functional_test_runner] Set default loglevel back to info
* [functional_test_runner] Replace `context`s with `describe`s
* [functional_test_runner] Better error handling
* [functional_test_runner] Add in new Tile Map tests
* Incorporate changes from master
* [functional_test_runner] validate that every test file has a single top-level suite
* Update contributing doc with link to full doc
* [docs] Spelling and grammar fixes
* docs: writing and running functional tests
* [docs] Move plugin doc to plugin area
* [docs] Housekeeping. Doc in wrong place
* [docs] Remove dup doc file
* [grunt] Only run mocha_setup when running tests, not every grunt task
* Integrate angular-translate globalization framework with i18n engine
* Provide template for enabling translations in an AngularJS view by translating a view
* Verification tool for translation keys used in angular-translate
* Documentation
* Initial import
* updating the editor width to match the new specs
* Adding tribe node support
* Adding tests for server libs
* removing bluebird
* removing extra cruft
* Fixing the font sizes
* Fixed the updating code
* Adding brushing
* Fixing linting issues
* Adding global filters
* Adding missing packages
* Default gauge style to half circle
* Fixing the markdown css bug
* Adding tests for the get_vis_data api
* Adding time offset
* Adding time offset to each type
* fixing bugs from time offset
* adding index pattern option to series
* Adding index pattern overrides
* Adding index pattern overrides
* Fixing tests
* Fixing brushing in the vis editor
* Changing the label
* Change the behavior of selecting a pipeline agg when only one exists.
* Refactoring series a bit
* Changing series options to just options
* Making sure we honor the toaster container height
* Adding first tests
* renaming vis_config to panel_config
* renaming vis_config to panel_config
* Adding more tests
* adding more tests
* removing api subdirectory
* refactoring get_vis_data (breaking it up and removing unused imports)
* reorganizing the visualization directory
* Re-organizing directory layouts and moving things to more logical places
* Refactoring React compontents to use ES6 syntax and adding propTypes for each. Also refactored out splats as much as possible.
* Adding serial differencing
* Refactored gauge to use 2 components instead of 4
* Finishing react refactor on visualizations. Consolidated legned funtionality
* Refactoring series config and removing a bunch of duplicate code
* fixing series config name
* Fixing numbers and strings (doesnt matter which it is); Fixing classname
* Changing the way the dark theme works
* Adding new vis into list for test
* Adding empty bucket check
* Fixing the index patterns in the aggs
* Fixing typo
* Refactoring vis_data
* Fixing std_metric
* Fixing refresh-hack
* Adding tests for get_splits, get_last_metric, map_bucket
* Fixing the error handing
* removing restrictions
* Sometimes values are strings or numbers... it doesn't matter
* Adding new color options for splits
* Fixing colors
* fixing size
* Adding support for fitlers agg
* Fixing tests
* Fixing splits for filters
* Fixing Top N to work better with fitlers
* Adding annotation editor
* initial work for annotations
* Finalizing annotations
* Fixing label
* making it expandable
* Fixing hacks fixed by #10175
* Fixing bars to use the same stacking options as lines
* Getting rid of align by colons
* removing unused depends
* removing unused depends
* Changing to readable lodash function
* Adding missing parens
* refactoring custom color picker
* Removing string refs and converting uncontrolled components
* Fixing the controlled components where value maybe null; converting error to css
* refactoring styles from components
* fixing the refresh behavoir borked by fullEditor
* Adding the executor service
* Fixing the test directories
* fixing save
* Adding filter ratios
* Fixing controlled components
* Trying to fix the weird typing
* Fixing offset bug with days
* Adding percentile rank
* Fixing yaxis updates; fixing percentile rank layout; adding steps to line chart
* removing unused depends
* Fixed a bug with the index patterns updating; fixed bug with charts rendering too much
* Fixing tests
* Commenting out React tests because the ENV must have change and they are no longer working
* Moving bucket transform
* moving calculate auto
* Moving calculate_indices
* moving extended_stats_types && get_agg_value
* moving get_buckets_path
* moving get_sibling_agg_value
* moving parse_settings
* moving series_agg
* Moving unit_to_seconds
* Fixing tests
* Fixing per PR
* Renaming vars to make it more clear what's happening
* Changing the way testible functions are exported
* fixing tests
* removing unused imports; fixing typos; fixing package name
* Name has to match the plugin path
* Fixing typos; removing unused imports
* fixing tests
* rearanging and removing unused imports
* Fixing a bug with unque names for radio buttons on the same form
* Fixing filter ratio to use a metric instead of just count
* fixing a bug with the new filter ratios
* Fixing the file path from the #8
* Fixing renderComplete trigger; Fixing embedded mode; Changing names for Timelion and Time Series Visual Builder
* Fixing name
* Fixing docs
* Fixing a typo for the field select for terms splits
* Fixing tests
Backports PR #10503
**Commit 1:**
Update doc
Include elasticsearch.tribe.requestTimeout setting
* Original sha: 5a01e24695
* Authored by Nikhil Patel <niks999@gmail.com> on 2017-02-22T11:17:01Z
* Committed by GitHub <noreply@github.com> on 2017-02-22T11:17:01Z
This adds a link to the detail view of discover rows to switch to a view of the documents immediately before and after the selected document. Since that view uses the timestamp field of the index pattern, it is only available for time-based indices.
See #9198 for detailed screenshots.