Releases: uptake/uptasticsearch
Releases · uptake/uptasticsearch
v0.4.0
uptasticsearch 0.4.0
Features
Added support for ES7.x
- #161 Added support for ES7.x. The biggest changes between that major version and 6.x were the removal of
_all
as a way to reference all indices, changing the response format ofhits.total
into an object like{"hits": {"total": 50}}
, and restricting all indices to have a single type of document. More details can be found at https://www.elastic.co/guide/en/elasticsearch/reference/current/breaking-changes-7.0.html.
v0.3.1
uptasticsearch 0.3.1
Bugfixes
Minor changes to unit tests to comply with CRAN
- #136 removed calls to
closeAllConnections()
in unit tests because they were superfluous and causing problems on certain operating systems in the CRAN check farm.
Changed strategy for removing duplicate records
- #138 changed our strategy for deduping records from
unique(outDT)
tounique(outDT, by = "_id")
. This was prompted by Rdatatable/data.table#3332 (changes indata.table
1.12.0), but it's actually faster and safer anyway!
v0.3.0
uptasticsearch 0.3.0
Features
Full support for ES6.x
- #64 added support for ES6.x. The biggest change between that major version and v5.x is that as of ES6.x all requests issued to the ES HTTP API must pass an explicit
Content-Type
header. Previous versions of ES tried to guess theContent-Type
when none was declared - #66 completed support for ES6.x. ES6.x changed the supported strategy for issuing scrolling requests.
uptasticsearch
will now hit the cluster to try to figure out which version of ES it is running, then use the appropriate scrolling strategy.
Bugfixes
get_fields()
when your index has no aliases
- previously,
get_fields()
broke on some legacy versions of Elasticsearch where no aliases had been created. The response on the_cat/aliases
endpoint has changed from major version to major version. #66 fixed this for all major versions of ES from 1.0 to 6.2
get_fields()
when your index has multiple aliases
- previously, if you had multiple aliases pointing to the same physical index,
get_fields()
would only return one of those. As of #73, mappings for the underlying physical index will now be duplicated once per alias in the table returned byget_fields()
.
bad parsing of ES major version
- as of #64,
uptasticsearch
attempts to query the ES host to figure out what major version of Elasticsearch is running there. Implementation errors in that PR led to versions being parsed incorrectly but silently passing tests. This was fixed in #66. NOTE: this only impacted the dev version of the library on Github.
ignore_scroll_restriction
not being respected
- In previous versions of
uptasticsearch
, the value passed toes_search()
forignore_scroll_restriction
was not actually respected. This was possible because an internal function had defaults specified, so we never caught the fact that that value wasn't getting passed through. #66 instituted the practice of not specifying defaults on function arguments in internal functions, so similar bugs won't be able to silently get through testing in the future.
Deprecations and Removals
- #69 added a deprecation warning on
get_counts()
. This function was outside the core mission of the package and exposed us unnecessarily to changes in the Elasticsearch DSL.
v0.2.0
v0.1.0
uptasticsearch 0.1.0
Features
Elasticsearch metadata
get_fields
returns a data.table with the names and types of all indexed fields across one or more indices
Routing Temporary File Writing
es_search
now accepts anintermediates_dir
parameter, giving users control over the directory used for temporary I/O at query time
Bugfixes
Empty Results
- Added logic to short-circuit and return early with an informative message if a query matches 0 documents
v0.0.2
uptasticsearch 0.0.2
Features
Main function
es_search()
executes an ES query and gets a data.table
Parse raw JSON into data.table
chomp_aggs()
converts a raw aggs JSON to data.tablechomp_hits()
converts a raw hits JSON to data.table
Utilities
unpack_nested_data()
deals with nested Elasticsearch data not in a tabular formatparse_date_time()
parses date-times from Elasticsearch records
Exploratory functions
get_counts()
examines the distribution of distinct values for a field in Elasticsearch