================================================== Changes from 2019-08-15 00:00:00 +0000 to present. ================================================== ------------------------------------------ version 7.9.2 at 2021-08-14 02:19:19 +0000 ------------------------------------------ Change: 8adedd9d89bdcaac26844547d36813bfc75f511f Author: Brad Lhotsky Date : 2021-08-13 19:17:04 +0000 Fix a warning in the 7.9.1 Release I was unable to `Dist::Zilla` to let me tag a `7.10` release, so I went with `7.9.1`. This caused a warning in `::Connection` for formatting the version string. Change: 84dd4b08f113cadc0d8f71ac7bd5448536910f3f Author: Brad Lhotsky Date : 2021-08-13 19:07:49 +0000 Version number fixed in Markdown ------------------------------------------ version 7.9.1 at 2021-08-14 01:48:01 +0000 ------------------------------------------ Change: 3eef2f64709f5b9643c91544b839a1727b7f32c0 Author: Brad Lhotsky Date : 2021-08-13 18:48:01 +0000 Fix POD for xtests Change: bc51180e9f87730ee0d220e5c1c8b22e7e740253 Author: Brad Lhotsky Date : 2021-08-13 18:38:33 +0000 Aggregations Updated * Recursive aggregation parsing to flatten records into a row/column format * Documentation updates for the `App::ElasticSearch::Utilities::Aggregations` * Make `es-aggregate.pl` more useful generally and move to `scripts/` * Fix alias handling for simple terms aggs Change: d8c8be912a60156290cb68c046e3b3c8fafbc2ae Author: Brad Lhotsky Date : 2021-08-04 17:26:42 +0000 Tests started to the aggregations parser Change: 25e3fc64e388b3a84002d594e68516602970eb89 Author: Brad Lhotsky Date : 2021-08-04 17:13:23 +0000 Suss out the es_expand_aggregate syntax Now looks like: ``` [ALIAS=]AGG:FIELD[:PARAMS] PARAMS := [k=v,k1=v1,v1a] ``` Add a few additional aggregations to the supported list. ---------------------------------------- version 7.9 at 2021-07-30 18:19:09 +0000 ---------------------------------------- Change: f386e7003a442a0419fc62aa30d576312afa9efa Author: Brad Lhotsky Date : 2021-07-30 11:19:09 +0000 Release 7.9 * Fix timeout handling * Allow for connection preferences into the `meta` settings section * Allow `_id` to be shown by `es-search.pl` * Look in `~/.config` for `es-utils.yaml` * Started some work on library for handling aggregation queries Change: ba56db091ef15fd365100e034b17a8de530333e6 Author: Brad Lhotsky Date : 2021-07-14 15:07:21 +0000 WIP: Substantial progress on the multi level aggregation script Change: 5c2517a1264b4a381b11387125e63dada6fcef2a Author: Brad Lhotsky Date : 2021-07-08 14:50:45 +0000 Adding es-aggregate.pl script `es-search.pl` has a lot of cruft. Creating `es-aggregate.pl` as a proof-of-concept starting from a clean slate to see if I can make the code more readable and more reusable. The idea being to push this code back into the library to make working with aggregations easier and cleaner. Change: cfd98ad2e84ee1ea8791debe7f6e1809bd6a9af6 Author: Brad Lhotsky Date : 2021-07-08 07:34:21 +0000 Move the aggregation parsing out to it's own sub This is a long time coming, the handling of aggregations needs a major cleanup. First step is to break things up into more parseable blocks. Change: ea453e9190173af63adce15b684dcad13e3b13c5 Author: Brad Lhotsky Date : 2021-07-08 07:15:14 +0000 Pass timeout to the object creation When converting to `App::ElasticSearch::Utilities::Connection`, I mistakenly removed the pass through of the `--timeout` parameter to the object creation. This restores the timeout capability. Change: c8f664cfb09b928831945f82607eab5830faa066 Author: Brad Lhotsky Date : 2021-07-08 07:14:50 +0000 Allow HTTP username/password in meta The previous commit allowed overriding the destination for the connection. This allows users to override the HTTP basic auth username/password. ```yaml host: es-main.int.example.com meta: access: timestamp: t security: timestamp: @timestamp host: es-security.int.example.com proto: https http-username: bob password-exec: ~/bin/get-es-security-password.sh ``` Change: 7c56813974cc069a6214daef8667551a8d31de65 Author: Brad Lhotsky Date : 2021-07-08 06:55:14 +0000 Added connection details to the meta section This update allows the metadata in the `~/.es-utils.yaml` file to include the `host`, `port`, and `proto`. Example: ```yaml host: es-main.int.example.com port: 80 meta: security: host: es-security.int.example.com port: 443 proto: https ``` Change: 797199f7af436597ffa67c486d5ea275b825e471 Author: Matthew Feinberg Date : 2021-06-24 14:03:07 +0000 For es-search.pl allow _id to be shown as a column when using --show and display _id when showing full result records. Change: 6547b9893ad05e7cef565f4a2caf51b321091de0 Author: Andrei Grechkin Date : 2021-06-11 10:11:34 +0000 Add support for the XDG Base Directory Specification Support configuration file placed in `$XDG_CONFIG_HOME/es-utils/config.yaml` Change: 0f799636f22bf8bff51c25a890f12341f6f7b9d7 Author: Brad Lhotsky Date : 2021-06-05 14:57:35 +0000 Fix warning in es_request() When the index is undefined, the code throws a warning. Change: fa084386a44bbda1a75ee961f8ea6228ab62fe0c Author: Brad Lhotsky Date : 2021-03-20 17:17:13 +0000 The GitHub::Meta plugin stopped working and needed configuration Change: c118b27b05d5e5e75b444b9537362d78e099176f Author: Brad Lhotsky Date : 2020-10-08 13:42:10 +0000 Fix warnings when we encounter an unallocated shard ---------------------------------------- version 7.8 at 2020-09-16 18:12:23 +0000 ---------------------------------------- Change: 7dbb50ff27914898417120f617def09279f8adc0 Author: Brad Lhotsky Date : 2020-09-16 11:12:23 +0000 Better handling of percentages For `--top` queries, be consistent about handling of the number of decimal places. Default to showing 3 digits to the right of the decimal, but allow a user to override it with `--precision`. Show the percentages in the summary when using `--days` greater than 1. Update the documentation. Change: e55ca5e32f64bc10c1def43c4766b93fe1430679 Author: Brad Lhotsky Date : 2020-09-04 13:00:37 +0000 Add percentages to es-search.pl aggs Whenever an aggregation is used, output the percentage from 0-1 with the doc count. Additionally, in sub aggs, calculate the percentage of the parent bucket. Change: 27a31a79da70aef08ec04586b9496160f2127007 Author: Brad Lhotsky Date : 2020-06-08 09:52:42 +0000 Remove the HOME paths from the lookup In the previous release, I added a check for the HOME environment variable, but I neglected to remove the originals from the search path. ---------------------------------------- version 7.7 at 2020-06-08 15:34:40 +0000 ---------------------------------------- Change: 5cbe34afdc85b490d2938aa9e37a39f9b34ae6d6 Author: Brad Lhotsky Date : 2020-06-08 08:34:40 +0000 Bugfix release * Sending "0" value query parameters did not work previously * Only add the ~/.es-utils.* to the config search path if HOME is set * Fix typo in the documentation ---------------------------------------- version 7.6 at 2020-03-27 22:43:58 +0000 ---------------------------------------- Change: 6cb7406e8cf4b112efe4fffd0a0138089d841597 Author: Brad Lhotsky Date : 2020-03-27 15:43:58 +0000 Release Version 7.6 * In `::Query`, the `fields` element was deprecated a long time ago, so overload it as a source filter. * `es-search.pl` * Ensure `--missing` and `--exists` can be specified more than once * Enable source filtering when the user specifies `--show` * Honor `--max-batch-size` when `--all` is specified Change: 8ef098984362da46348bec5bbb66de15f57c07a7 Author: Brad Lhotsky Date : 2020-03-09 17:20:26 +0000 Added es-index-blocks.pl to manage index blocks Change: 7804940e5562e5edc9e4472c7e9dcb3c9eeeb97e Author: Brad Lhotsky Date : 2019-12-31 11:05:36 +0000 Ensure error message isn't blank Change: 6743298fac9c15c55ea719e61eb63d5397e2f60e Author: Brad Lhotsky Date : 2019-12-31 11:00:24 +0000 Change aggregation ID and make debug output more useful. The debug output is now in a better format to paste to a Kibana instance for debugging. Change: cc0f7b846e85d6a8397dea24ff4102083990cd3e Author: Vitaly Shupak Date : 2019-12-09 18:03:10 +0000 use LWP::UserAgent request instead of simple_request simple_request does not handle authentication responses, which breaks in environments where ElasticSearch requires Kerberos authentication. ---------------------------------------- version 7.5 at 2019-11-21 21:39:18 +0000 ---------------------------------------- Change: eef552859755c3b446755232ef5cdab4fe39713f Author: Brad Lhotsky Date : 2019-11-21 13:39:18 +0000 Version 7.5 Release Change: fdccadaf74838e2876b5d370978ba780a8bbb819 Author: Brad Lhotsky Date : 2019-11-21 13:33:31 +0000 Include count in the --by ordering The default sort order for --by does not take into account the count of the sub buckets. This adds a secondary sort descending on the count of objects in each bucket. Change: a27a8b23f9bfd25259539dbae83a54ffc5a40cc7 Author: Brad Lhotsky Date : 2019-11-21 13:10:17 +0000 Make ::Query objects able to execute This was an oversight on my part. The `::Query` object now supports `->execute( $list_of_indexes )` directly. This makes working with the library easier as folks don't need to read docs on the `es_request()` function to figure out how to construct a search. Additionally, `scroll_id`'s are automatically extracted from the result set. Calls to `->scroll_results()` will allow scrolling without having to understand the mechanics of the scroll. ---------------------------------------- version 7.4 at 2019-10-20 13:24:50 +0000 ---------------------------------------- Change: be1145db74f2394ae9c4f2747332cc03d3f7ca07 Author: Brad Lhotsky Date : 2019-10-20 09:24:50 +0000 Ready v7.4 Release * Docs updated * Update tests to handle the new IP range query Change: feca6053d575b523277743a937a51cb226781d66 Author: Brad Lhotsky Date : 2019-10-20 09:03:07 +0000 Add Support for --or and IPv6 * Added support to change the default token joiner to OR to es-search.pl * Added support for IPv6 to the ::QueryString::IP expander * Converted ::QueryString::IP to use a range query Change: 17e80653b2a90e665e59c545eda7776b2fae7c90 Author: Brad Lhotsky Date : 2019-10-19 10:46:48 +0000 Update the examples/es-utils.yml file for new options This file had gotten outdated. Change: 31c3caf10224615723e8036eae28ac7789a1824d Author: Brad Lhotsky Date : 2019-10-09 20:23:57 +0000 Use a better name for fields metadata Change: f6369b88f311751908dec2addad33d999a452c75 Author: Brad Lhotsky Date : 2019-10-09 20:19:38 +0000 Some code cleanup for es-search.pl Change: 29bbf1415b2be39cf79d0281608832ade50565a9 Author: Brad Lhotsky Date : 2019-10-09 20:18:57 +0000 Allow field metadata sharing with ::Query This will enable automatic detection of and working with nested fields in the near term. Possibly other features in the long term. ---------------------------------------- version 7.3 at 2019-09-08 18:32:53 +0000 ---------------------------------------- Change: 56b99467e968c2a4dcb6eeb5e49f62ff55213ca2 Author: Brad Lhotsky Date : 2019-09-08 11:32:53 +0000 Release 7.3 ready to go Change: cb5e39b38c73c19f02def6851daecb257b228759 Author: Brad Lhotsky Date : 2019-09-08 11:27:57 +0000 Fix search API for ES < 6.x The `track_total_hits` was added in ES 6.0.0. Remove that parameter for versions before 6.0.0. Change: 5a681c12f47a607293148b44be469a54dd490597 Author: Brad Lhotsky Date : 2019-09-05 15:42:16 +0000 Add documentation for the new parameters and allow scroll to be undef When working with aggregations, we need to disable the scroll, so allow scroll to be undef. Change: 37fb74c14732e998163a2b46c8960717e69514b7 Author: Brad Lhotsky Date : 2019-09-04 18:25:02 +0000 Fixes for ::Query to handle parameters better Drop all the `Maybe` from `::Query`. Make handling non-array parameters in the `bool` section of the query work. Added the following parameters: * `search_type` - Set to an `Enum` consistent with viable ES options * `track_scores` - Can be 'true' or 'false' * `track_total_hits` - Defaults 'true' * `rest_total_hits_as_int` - Defaults 'true' * `minimum_should_match` - Allow users to control the minimum should match parameter. `es-search.pl` remove redundant parameters. Set `--tail` batch size to `max-batch-size` and check if `size` is less than `max-batch-size` and just return `size` docs instead of `max-batch-size` docs. Change: 350c919e7b7128c306bc4b5ef8237a9d2caf7910 Author: Brad Lhotsky Date : 2019-09-04 17:24:28 +0000 Make ::Query->add_bool() more flexible Now `add_bool()` supports adding multiple conditions at once. Allow users to set `search_type` and `track_scores`. ---------------------------------------- version 7.2 at 2019-08-28 22:38:01 +0000 ---------------------------------------- Change: 1c04c77be9fd7c0366ce28e2b8abe694babe468f Author: Brad Lhotsky Date : 2019-08-28 15:38:01 +0000 Documentation update for 7.2 release Change: 7469f0aab1a9f93a2ebf4fbe8848a25689ff5cf5 Author: Brad Lhotsky Date : 2019-08-28 15:35:07 +0000 Enhance es-apply-settings.pl * New `es_flatten_hash()` function to perform compatible list flattening to that found in Elastic's documentation. * Replace all instances of `Hash::Flatten::flatten` with a call to `es_flatten_hash()` for consistency * Use the `es_flatten_hash()` function with `Test::Deep`'s `cmp_details()` and `subhashof()` to check if an index requires a settings change. * Configure `es-apply-settings.pl` to ignore indices with protected aliases. * Allow protected indices to have settings applied with `--no-skip` * Skip checking the existing index settings with `--no-diff` Change: bc5ce3686a5d7542fea53d70352f618bd1676a15 Author: Brad Lhotsky Date : 2019-08-23 15:04:28 +0000 Tweaks for working with ElasticSearch 6.x and 7.x * Field metadata extraction works on both versions * Filter out invalid parameters to `_search` when using an older ES version * Set `es-search.pl` to use the new parameters to track the total hits Change: 84142a2fa49ad8e819be1cc189b17a246783c762 Author: Brad Lhotsky Date : 2019-08-05 11:40:16 +0000 Make skipped aliases in maintenance more visible. Moving the skipped message from `verbose` to `output` to ensure proper reporting of these indexes. Change: 75e684c51aa125e6d8590bf95c3a7c0e3c43933f Author: Brad Lhotsky Date : 2019-08-01 17:10:46 +0000 Adapt es-search.pl --bases to use _all If the user sets a default base in their `~/.es-utils.yaml`, then they'd only see that base in via `--bases`. This ensures users can see all of the indices available. ================================================= Plus 78 releases after 2019-08-15 00:00:00 +0000. =================================================