Metarank Docs
  • Introduction
    • What is Metarank?
    • Quickstart
    • Performance
  • Guides
    • Search
      • Reranking with cross-encoders
  • Reference
    • Installation
    • Event Format
      • Timestamp formats
    • API
    • Command-line options
    • Configuration
      • Feature extractors
        • Counters
        • Date and Time
        • Generic
        • Relevancy
        • Scalars
        • Text
        • User Profile
        • Diversification
      • Recommendations
        • Trending items
        • Similar items
        • Semantic similarity
      • Models
      • Data Sources
      • Persistence
    • Deployment
      • Standalone
      • Docker
      • Kubernetes
      • Prometheus metrics export
      • Custom logging
      • Warmup
    • Integrations
      • Snowplow
  • How-to
    • Automated ML model retraining
    • Automatic feature engineering
    • Running in production
  • Development
    • Changelog
    • Building from source
  • Doc versions
    • 0.7.9 (stable)
    • master (unstable)
Powered by GitBook
On this page
  • 0.7.9
  • 0.7.8
  • 0.7.7
  • 0.7.6
  • 0.7.5
  • 0.7.4
  • 0.7.3
  • 0.7.2
  • 0.7.1
  • 0.7.0
  • 0.6.4
  • 0.6.3
  • 0.6.2
  • 0.6.1
  • 0.6.0
  • 0.5.16
  • 0.5.15
  • 0.5.14
  • 0.5.13
  • 0.5.12
  • 0.5.11
  • 0.5.10
  • 0.5.9
  • 0.5.8
  • 0.5.7
  • 0.5.6
  • 0.5.5
  • 0.5.4
  • 0.5.3
  • 0.5.2.
  • 0.5.1
  • 0.4.0
  • Kunernetes support
  • Kinesis source
  • Custom connector options pass-through

Was this helpful?

Edit on GitHub
  1. Development

Changelog

PreviousRunning in productionNextBuilding from source

Last updated 1 year ago

Was this helpful?

In a human-readable format. For a technical changelog for robots, see . Check our for more detailed updates.

0.7.9

  • expose redis click-through store TTL to config

0.7.8

  • a bigfix release: slash/semicolon in key/value, kinesis retries

0.7.7

  • a bugfix release: race condition in cache invalidation, booster native memleak

0.7.6

  • Rate feature now can be scoped to

  • You can now specify should be computed on training.

  • Proper handling of

0.7.5

0.7.4

  • support for rocksdb-backed file storage

0.7.3

  • a bugfix release

0.7.2

  • Support for kv-granular Redis TTLs

  • Support HF tokenizers for biencoders: now you can run a multi-lingual E5 model in Metarank!

0.7.1

0.7.0

0.6.4

  • a minor bugfix release

0.6.3

  • fixed an important bug with dataset preparation (symptom: NDCG reported by the booster was higher than NDCG computed after the training) - prediction quality should go up a lot.

0.6.2

  • print NDCG before and after reranking

  • print statistics for mem usage after training

0.6.1

  • fix for crash when using file-based clickthrough store

0.6.0

Upgrading: note that redis state format has a non backwards compatible change, so you need to reimport the data when upgrading.

  • Local caching for state, the import should be 2x-3x faster.

0.5.16

  • fix bug for a case when there is a click on a non-existent item.

0.5.15

  • cache.maxSize for redis now disables client-side caching altogether. Makes Metarank compatible with GCP Memstore Redis.

  • fixed mem leak in clickthrough joining buffer.

  • lower mem allocation pressure in interacted_with feature.

0.5.14

  • interacted_with feature now supports string[] fields

  • fixed a notorious bug with local-file click-through store.

0.5.13

  • XGBoost LambdaMART impl now supports categorical encoding.

0.5.12

0.5.11

  • linux/aarch64 support, so docker images on Mac M1 are OK.

  • a ton of bugfixes

0.5.10

0.5.9

0.5.8

  • bugfix: add explicit sync on /feedback api call

  • bugfix: config decoding error for field_match over terms

  • bugfix: version detect within docker was broken

  • bugfix: issue with improper iface being bound in docker

0.5.7

0.5.6

0.5.5

Notable features:

0.5.4

Most notable improvements:

0.5.3

Highlights of this release are:

0.5.2.

Highlights of this release are:

0.5.1

Highlights of this release are:

0.4.0

Highlights of this release are:

  • Kubernetes support: now it's possible to have a production-ready metarank deployment in K8S

  • Kinesis source: on par with Kafka and Pulsar

  • Custom connector options pass-through

Kunernetes support

Metarank is a multi-stage and multi-component system, and now it's possible to get it deployed in minutes inside a Kubernetes cluster:

  • Bootstrap, Upload and Update jobs can be run both locally (to simplify things up for small datasets) and inside the cluster in a distributed mode.

Kinesis source

Custom connector options pass-through

As we're using Flink's connector library for pulling data from Kafka/Kinesis/Pulsar, there is a ton of custom options you can tune for each connector. It's impossible to expose all of them directly, so now in connector config there is a free-form options section, allowing to set any supported option for the underlying connector.

Example to force Kinesis use EFO consumer:

type: kinesis
topic: events
region: us-east-1
offset: latest
options: 
  flink.stream.recordpublisher: EFO 
  flink.stream.efo.consumername: metarank 

/inference: to expose bi- and cross-encoders.

Support for

field_match support for

field_match support for

field_match support for

Relevance judgments can now also

feature extractor

feature

support for similar and trending items models.

JAVA_OPTS env variable to control JVM heap size.

when serving multiple models.

for storing clickthrough data.

Redis AUTH override with

Prometheus /metrics

Per-item

--split option for CLI with

Redis

Redis

feature now has much less overhead in Redis, and supports multiple fields in a single visitor profile.

, and not inside Redis, also reducing the overall costs of running Metarank

it is now possible to datasets for further hyper-parameter optimization.

, with ballpark estimations useful for resource planning.

with reducer and autofeature support.

which is common on managed Redis setups.

, which is 2x faster and 4x more compact than JSON

, so metarank can now be run natively on Mac M1/M2.

and an official guide on how to do production deployment on k8s.

for further hyper-parameter tuning.

support, so having 1 click over 2 impressions is not resulting in a 50% CTR anymore.

based on a dynamic position feature.

based on an existing dataset

added sub-command

added parameters to improve memory consumption

added and

Flink is rermoved. As a result only memory and redis modes are supported now.

now has updated structure and is not compatible with previous format.

CLI is updated, most of the options are moved to .

We have updated the mode of the CLI, so you can use it to validate your data and configuration.

Inference API is just a regular

Job mabagement is done with

See for details.

can also be used as an event source. It still has a couple of drawbacks compared with Kafka/Pulsar, for example, due to max 7 day data retention it cannot be effectively used as a permanent storage of historical events. But it's still possible to pair it with a AWS Firehose writing events to S3, so realtime events are coming from Kinesis, and historical events are offloaded to S3.

Check out for details and examples.

See for details.

LLM embedding-based content recommendations
diversity
recommendations
endpoint
Request latency benchmark
Multi-arch docker images
Kubernetes Helm chart
AutoML style feature engineering
historical data sorting
persistance
Configuration file
configuration
Deployment
flink-kubernetes-operator
this doc section
Kinesis Streams
the corresponding part of docs
this doc section
github releases page
blog
API Warmup support
BM25
LLM bi-encoders
LLM cross-encoders
scoped rate
Rate normalization
ranking.field + item
Unbiased LTR support
Train/test splitting strategy support
Event selector support
which eval metrics
GCP Memorystore Redis
env vars
TLS support
Redis AUTH support
Binary state serialization format
Inference API
Clickthrough storage configuration
timeout configuration
click-through events now can be stored in a file
core.clickthrough.maxSessionLength and core.clickthrough.maxParallelSessions
analytics
error tracking
multiple splitting strategies
export lightgbm/xgboost-compatible
Training dataset export
validate
interacted_with
Vector feature extractor
Position de-biasing
be explicit
ranking fields
expose