Elasticsearch 8.2 releases, distributed search engine

Elasticsearch is a highly scalable open-source full-text search and analytics engine. It allows you to store, search, and analyze big volumes of data quickly and in near real time. It is generally used as the underlying engine/technology that powers applications that have complex search features and requirements.

Elasticsearch

Here are a few sample use-cases that Elasticsearch could be used for:

  • You run an online web store where you allow your customers to search for products that you sell. In this case, you can use Elasticsearch to store your entire product catalog and inventory and provide search and autocomplete suggestions for them.
  • You want to collect log or transaction data and you want to analyze and mine this data to look for trends, statistics, summarizations, or anomalies. In this case, you can use Logstash (part of the Elasticsearch/Logstash/Kibana stack) to collect, aggregate, and parse your data, and then have Logstash feed this data into Elasticsearch. Once the data is in Elasticsearch, you can run searches and aggregations to mine any information that is of interest to you.
  • You run a price alerting platform which allows price-savvy customers to specify a rule like “I am interested in buying a specific electronic gadget and I want to be notified if the price of gadget falls below $X from any vendor within the next month”. In this case you can scrape vendor prices, push them into Elasticsearch and use its reverse-search (Percolator) capability to match price movements against customer queries and eventually push the alerts out to the customer once matches are found.
  • You have analytics/business-intelligence needs and want to quickly investigate, analyze, visualize, and ask ad-hoc questions on a lot of data (think millions or billions of records). In this case, you can use Elasticsearch to store your data and then use Kibana (part of the Elasticsearch/Logstash/Kibana stack) to build custom dashboards that can visualize aspects of your data that are important to you. Additionally, you can use the Elasticsearch aggregations functionality to perform complex business intelligence queries against your data.

Elasticsearch 8.2 has been released.

Changelog

Bug fixes

Aggregations
  • Don’t apply the rewrite-as-range optimization if field is multivalued #84535 (issue: #82903)
  • Fix AdaptingAggregator toString method #86042
  • Fix: nested top metrics sort on keyword field #85058
  • Fix: use the correct field name when reading data from multi fields #84752
Analysis
  • Add tests for min_hash configuration and fix settings names #84753 (issue: #84578)
Authorization
  • Add delete privilege to kibana_system for APM #85085
  • Ensure API key can only see itself with QueryApiKey API #84859
  • Fix ownership of refresh tokens #85010
  • Grant kibana_system role read access to APM data streams #85744
  • Handle role descriptor retrieval for internal users #85049
  • Ignore app priv failures when resolving superuser #85519
EQL
  • Clean any used memory by the sequence matcher and circuit breaker used bytes in case of exception #84451
Engine
  • Increase store ref before snapshotting index commit #84776
Geo
  • Fix fields wildcard support to vector tile search API #85595 (issue: #85592)
Highlighting
  • Fix wildcard highlighting on match_only_text #85500 (issue: #85493)
ILM+SLM
  • Fix Stacktraces Taking Memory in ILM Error Step Serialization #84266
  • Invoke initial AsyncActionStep for newly created indices #84541 (issue: #77269)
  • Retry clean and create snapshot if it already exists #83694 #84829 (issue: #83694)
  • Skip the shrink step if the number of shards of the shrunk index is the same with the original #84434 (issue: #80180)
Indices APIs
  • Remove existing indices/datastreams/aliases before simulating index template #84675 (issue: #84256)
Infra/Core
  • Fix NullPointerException in SystemIndexMetadataUpgradeService hidden alias handling #84780 (issue: #81411)
  • Prevent ThreadContext header leak when sending response #68649 (issue: #68278)
  • Relax data path deprecations from critical to warn #85952
  • Require and preserve content type for filtered rest requests #84914 (issue: #84784)
  • Return empty version instead of blowing up if we cannot find it #85244
  • Validate index format agreement for system index descriptors #85173
  • Wrap thread creation in doPrivileged call #85180
Infra/Plugins
  • Strengthen elasticsearch plugin version check #85340 (issue: #85336)
Infra/REST API
  • Correctly return _type field for documents in V7 compatiblity mode #84873 (issue: #84173)
Ingest
  • Mark GeoIpDownloaderTask as completed after cancellation #84028
  • CompoundProcessor should also catch exceptions when executing a processor #84838 (issue: #84781)
License
  • Fix license downgrade warnings for API Keys and Tokens #85276 (issue: #75271)
Machine Learning
  • Allow retrieving boolean fields from _source in DFA jobs #85672
  • Avoid multiple queued quantiles documents in renormalizer #85555 (issue: #85539)
  • Disallow new trained model deployments when nodes are different versions #85465
  • Do not fetch source when finding index of last state docs #85334
  • Ensure that inference index primary shards are available before attempting to load model #85569
  • Fix Kibana date format and similar overrides in text structure endpoint #84967
  • Fix race condition when stopping a recently relocated datafeed #84636
  • Fix serialisation of text embedding updates #85863
  • Fixes for multi-line start patterns in text structure endpoint #85066
  • Fixes to making old ML indices hidden #85383
  • Reallocate model deployments on node shutdown events #85310
  • Retry datafeed searches on skipped CCS clusters #84052 (issue: #83838)
  • Return all Datafeeds with GET Anomaly Detector #84759
Mapping
  • Do not fail on duplicated content field filters #85382
  • Runtime fields core-with-mapped tests support tsdb #83577
Packaging
  • Remove use of Cloudflare zlib #84680
Rollup
  • Add support for comma delimited index patterns to rollup job configuration #47041 (issue: #45591)
SQL
  • Add range checks to interval multiplication operation #83478 (issue: #83336)
  • Avoid empty last pages for GROUP BY queries when possible #84356 (issue: #75528)
  • Fix SQLCompatIT.testCursorFromOldNodeFailsOnNewNode #85531 (issue: #85520)
  • Fix issues with format=txt when paging through result sets and in mixed node environments #83833 (issues: #83581#83788)
  • Improve ROUND and TRUNCATE to better manage Long values and big Doubles #85106 (issues: #85105#49391)
  • Use exact attributes for script templates from scalar functions #84813 (issue: #80551)
  • RANDOM(<expr>) always evaluates to NULL if <expr> is NULL #84632 (issue: #84627)
Search
  • Fix point visitor in DiskUsage API #84909
  • Fix skip caching factor with indices.queries.cache.all_segments #85510
  • Increase store ref before analyzing disk usage #84774
  • Limit concurrent shard requests in disk usage API #84900 (issue: #84779)
  • Rewrite match_all inside must_not #85999
  • DotExpandingXContentParser to expose the original token location #84970
  • TransportBroadcastAction should always set response for each shard #84926
Security
  • Authentication.token now uses version from the existing authentication #85978
  • Ensure tokens represent effective user’s identity in all cases #84263
Snapshot/Restore
  • Don’t fail if there is no symlink for AWS Web Identity Token #84697
  • Expose proxy settings for GCS repositories #85785 (issue: #84569)
  • Fix atomic writes in HDFS #85210
  • Fix leaking listeners bug on frozen tier #85239
  • Fix snapshot status messages on node-left #85021
  • Ignore frozen shared cache file during data folder upgrades #85638 (issue: #85603)
  • [s3-repository] Lookup AWS Region for STS Client from STS endpoint #84585 (issue: #83826)
Stats
  • Discard intermediate results upon cancellation for stats endpoints #82685 (issue: #82337)
Transform
  • Correctly validate permissions when retention policy is configured #85413 (issue: #85409)
Watcher
  • Avoiding watcher validation errors when a data stream points to more than one index #85507 (issue: #85508)
  • Log at WARN level for Watcher cluster state validation errors #85632
  • No longer require master node to install Watcher templates #85287 (issue: #85043)

More