Releases: appbaseio/reactivesearch-api
7.28.3
New Addition
- Adds support for the updated Arc Basic plan, now priced at $29/mo instead of $39/mo
Fixes
- Updates cache when a user or permission is updated or deleted so that invalid credentials can't be used
oss
- Give priority to query_string over search_operators if both are set simultaneously in the ReactiveSearch API
noss
7.28.2
Fixes
- Handles
_bulk
request for.logs
indices by fixing the mappings - Returns empty response for
_reindex
api as{}
instead of nil to be consistent with other API endpoints
7.28.1
Fixes
- handles an edge-case with replace search query rule where scores were skewed due to addition of default
fields
key. We have removed passing this key entirely - handles indices endpoint to return hidden indices for all versions >= 7.7.0
7.28.0
Reliability and Performance
This release includes major reliability ⎍ and performance enhancements 🚀 and as a result of the adoption of a rigorous benchmarking framework based on esrally by our team. 🤓
You should absolutely consider updating to this release! Read more on the details of the improvements below:
- Latency improvements: Arc is now very close to being optimal as a reverse proxy to an Elasticsearch upstream. This release includes performance enhancements based on profiling Arc's CPU and memory usage and should show a 50ms to 1s latency improvement [1] per request.
- Memory usage improvements: We've been able to get peak memory usage [2] shrink from 1.2GB+ to ~300MB (over 4x improvement). A major chunk of this improvement comes from a decision to have Arc save logs to the filesystem instead of sending to the Elasticsearch upstream. A fluentbit process now separately logs these to the Elasticsearch upstream, and controls the logging throughput using a combination of throttling, windowing and sending logs in bulk to have minimal impact on the actual throughput of the search applications.
- Reliability improvements: Earlier versions of Arc couldn't complete the benchmarking tests without crashing. Arc now reliably completes benchmarking without adding a significant throughput or latency overhead over directly using an Elasticsearch upstream.
See the detailed benchmark results report - Baseline uses an Elasticsearch upstream and the contender is Arc v7.28.0 release.
Features
- An enhancement in how Arc creates an index's search template covers some important gaps for a general-purpose search strategy and at the same time, improves the index's storage efficiency by up to 10% #123
- Introduction of a fluentbit based logging daemon to ensure that search application bursts get a higher priority than logs
- Add support for copying synonyms and search relevancy strategy across indexes
- Adds support for setting all Arc generated indices as hidden (which has been introduced starting Elasticsearch v7.7.0)
Fixes
- Search relevancy: Field weights can have floating values (previously, only integer values were supported)
- Default sniffing to
false
(no sniffing) instead oftrue
as most Elasticsearch hosting services offer load balancing with an option to set sniffing (when you're hosting on your own and/or want to bypass an additional load balancer layer b/w Arc and Elasticsearch)
[1] Latency improvements came as a result of making our usage of bcrypt more efficient (check once per unique user encountered) v/s check per request, and improving how each middleware interacts with the request and response bodies in a request's lifecycle. The most latency improvements are related to advanced (noss) features of search relevancy and query rules.
[2] Peak memory usage was measured after benchmarking with esrally on a custom track by performing a series of bulk requests, index-stats requests, node-stats requests, term queries, phrase queries, and uncached aggregations.
7.27.0_beta.5
fix: hidden index util to compare es version other than 7.7.X (#121)
7.27.0_beta.4
feat(reindex): add support to copy searchrelevancy and synonyms (#117)
7.27.0
Features
- Adds sniffing support for an upstream ElasticSearch cluster. This ensures HA when connecting via Arc
[oss + noss]
- Query Rules: Add new actions for Add Filter, Search Settings, Replace Search Query and support replacing multiple words
[noss]
Bug Fixes
- Fix the analytics: filter-labels route's working that had broken after the analytics' index rotation implementation
[noss]
- Fix the default template to apply to all indices. An earlier attempt at patterning indexes to exclude system indices was faulty
[oss+noss]
- Fix the default value for setting rate limits of categories/ACLs when left unspecified by the client
[oss+noss]
7.26.1
7.26.0
Features
- Add support to filter logs by date range [
oss
] - Add a new rule to apply search settings [
noss
] - Fix
add filter
rule logic so it can get applied to allsearch
type of queries [noss
]
Bug Fixes
- Fix an analytics report with large records [
noss
]
Performance
- Fix replicas, shards settings and mapping template for system indices to save space [
oss
] - Remove
_source
from the analytics document to save space [noss
]
Arc generated system indices should now store 10x less data on average.
To get the full benefits of this update, remove your existing system indices for .logs
and .analytics
.