From fdfa872c6a2adb5bf2be2385b3fa1d7b42cb9f90 Mon Sep 17 00:00:00 2001 From: alangmartini Date: Mon, 2 Mar 2026 16:20:35 -0300 Subject: [PATCH] docs: add --enable-lazy-filter to server configuration with per-query recommendation Document the --enable-lazy-filter server parameter across all versions where it exists (26.0 through 30.1). The parameter sets the server-wide default for lazy filter evaluation and has existed since v26.0. Each entry includes a NOTE recommending users set enable_lazy_filter as a per-query search parameter instead, since lazy filtering is only beneficial for specific query patterns. --- docs-site/content/26.0/api/server-configuration.md | 5 +++++ docs-site/content/27.0/api/server-configuration.md | 1 + docs-site/content/27.1/api/server-configuration.md | 1 + docs-site/content/28.0/api/server-configuration.md | 1 + docs-site/content/29.0/api/server-configuration.md | 1 + docs-site/content/30.0/api/server-configuration.md | 1 + docs-site/content/30.1/api/server-configuration.md | 1 + 7 files changed, 11 insertions(+) diff --git a/docs-site/content/26.0/api/server-configuration.md b/docs-site/content/26.0/api/server-configuration.md index 89f5cfd7..d42587b5 100644 --- a/docs-site/content/26.0/api/server-configuration.md +++ b/docs-site/content/26.0/api/server-configuration.md @@ -93,6 +93,11 @@ Command line arguments can be passed to the server as `--parameter=value`. | `--db-compaction-interval` | false | Frequency of automatic on-disk [database compaction](./cluster-operations.md#compacting-the-on-disk-database). Default: `604,800` (7 days)

If you do frequent collection drops and recreates, you want to considering setting this to say 24 hours. | | `--skip-writes` | false | Starts Typesense in a mode that does not read writes from the Raft log. This is useful when the server has crashed due to some recent bad writes that you want to skip over temporarily. | +### Search + +| Parameter | Required | Description | +|------------------------|----------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| `--enable-lazy-filter` | false | Sets the server-wide default for lazy evaluation of filter clauses. When enabled, filter clauses are evaluated incrementally during search instead of upfront. Default: `false`.

**NOTE**: We recommend setting `enable_lazy_filter` as a [search parameter](./search.md#search-parameters) on a per-query basis instead of enabling it server-wide, since it is only beneficial for specific query patterns (e.g. filtering on large value sets where the query tokens match very few documents). | ## Using a Configuration File diff --git a/docs-site/content/27.0/api/server-configuration.md b/docs-site/content/27.0/api/server-configuration.md index 431fefde..d8b85c8b 100644 --- a/docs-site/content/27.0/api/server-configuration.md +++ b/docs-site/content/27.0/api/server-configuration.md @@ -94,6 +94,7 @@ Command line arguments can be passed to the server as `--parameter=value`. | `--skip-writes` | false | Starts Typesense in a mode that does not read writes from the Raft log. This is useful when the server has crashed due to some recent bad writes that you want to skip over temporarily. | | `--filter-by-max-ops` | false | Maximum number of operators permitted in `filter_by` clause. Default: `100` | | `--max-per-page` | false | Max number of hits permitted per page. Default: `250` | +| `--enable-lazy-filter` | false | Sets the server-wide default for lazy evaluation of filter clauses. When enabled, filter clauses are evaluated incrementally during search instead of upfront. Default: `false`.

**NOTE**: We recommend setting `enable_lazy_filter` as a [search parameter](./search.md#search-parameters) on a per-query basis instead of enabling it server-wide, since it is only beneficial for specific query patterns (e.g. filtering on large value sets where the query tokens match very few documents). | ## Using a Configuration File diff --git a/docs-site/content/27.1/api/server-configuration.md b/docs-site/content/27.1/api/server-configuration.md index d992113f..317a3623 100644 --- a/docs-site/content/27.1/api/server-configuration.md +++ b/docs-site/content/27.1/api/server-configuration.md @@ -95,6 +95,7 @@ Command line arguments can be passed to the server as `--parameter=value`. | `--skip-writes` | false | Starts Typesense in a mode that does not read writes from the Raft log. This is useful when the server has crashed due to some recent bad writes that you want to skip over temporarily. | | `--filter-by-max-ops` | false | Maximum number of operators permitted in `filter_by` clause. Default: `100` | | `--max-per-page` | false | Max number of hits permitted per page. Default: `250` | +| `--enable-lazy-filter` | false | Sets the server-wide default for lazy evaluation of filter clauses. When enabled, filter clauses are evaluated incrementally during search instead of upfront. Default: `false`.

**NOTE**: We recommend setting `enable_lazy_filter` as a [search parameter](./search.md#search-parameters) on a per-query basis instead of enabling it server-wide, since it is only beneficial for specific query patterns (e.g. filtering on large value sets where the query tokens match very few documents). | ## Using a Configuration File diff --git a/docs-site/content/28.0/api/server-configuration.md b/docs-site/content/28.0/api/server-configuration.md index d992113f..317a3623 100644 --- a/docs-site/content/28.0/api/server-configuration.md +++ b/docs-site/content/28.0/api/server-configuration.md @@ -95,6 +95,7 @@ Command line arguments can be passed to the server as `--parameter=value`. | `--skip-writes` | false | Starts Typesense in a mode that does not read writes from the Raft log. This is useful when the server has crashed due to some recent bad writes that you want to skip over temporarily. | | `--filter-by-max-ops` | false | Maximum number of operators permitted in `filter_by` clause. Default: `100` | | `--max-per-page` | false | Max number of hits permitted per page. Default: `250` | +| `--enable-lazy-filter` | false | Sets the server-wide default for lazy evaluation of filter clauses. When enabled, filter clauses are evaluated incrementally during search instead of upfront. Default: `false`.

**NOTE**: We recommend setting `enable_lazy_filter` as a [search parameter](./search.md#search-parameters) on a per-query basis instead of enabling it server-wide, since it is only beneficial for specific query patterns (e.g. filtering on large value sets where the query tokens match very few documents). | ## Using a Configuration File diff --git a/docs-site/content/29.0/api/server-configuration.md b/docs-site/content/29.0/api/server-configuration.md index a4a35232..c35e3fd2 100644 --- a/docs-site/content/29.0/api/server-configuration.md +++ b/docs-site/content/29.0/api/server-configuration.md @@ -102,6 +102,7 @@ Command line arguments can be passed to the server as `--parameter=value`. | `--filter-by-max-ops` | false | Maximum number of operators permitted in `filter_by` clause. Default: `100` | | `--max-per-page` | false | Max number of hits permitted per page. Default: `250` | | `--max-group-limit` | false | Max value of `group_limit` permitted when using `group_by`. Default: `99` | +| `--enable-lazy-filter` | false | Sets the server-wide default for lazy evaluation of filter clauses. When enabled, filter clauses are evaluated incrementally during search instead of upfront. Default: `false`.

**NOTE**: We recommend setting `enable_lazy_filter` as a [search parameter](./search.md#search-parameters) on a per-query basis instead of enabling it server-wide, since it is only beneficial for specific query patterns (e.g. filtering on large value sets where the query tokens match very few documents). | ### On-Disk DB Fine Tuning diff --git a/docs-site/content/30.0/api/server-configuration.md b/docs-site/content/30.0/api/server-configuration.md index 526abb2e..17069e91 100644 --- a/docs-site/content/30.0/api/server-configuration.md +++ b/docs-site/content/30.0/api/server-configuration.md @@ -102,6 +102,7 @@ Command line arguments can be passed to the server as `--parameter=value`. | `--filter-by-max-ops` | false | Maximum number of operators permitted in `filter_by` clause. Default: `100` | | `--max-per-page` | false | Max number of hits permitted per page. Default: `250` | | `--max-group-limit` | false | Max value of `group_limit` permitted when using `group_by`. Default: `99` | +| `--enable-lazy-filter` | false | Sets the server-wide default for lazy evaluation of filter clauses. When enabled, filter clauses are evaluated incrementally during search instead of upfront. Default: `false`.

**NOTE**: We recommend setting `enable_lazy_filter` as a [search parameter](./search.md#search-parameters) on a per-query basis instead of enabling it server-wide, since it is only beneficial for specific query patterns (e.g. filtering on large value sets where the query tokens match very few documents). | ### On-Disk DB Fine Tuning diff --git a/docs-site/content/30.1/api/server-configuration.md b/docs-site/content/30.1/api/server-configuration.md index f1aee369..b1b03128 100644 --- a/docs-site/content/30.1/api/server-configuration.md +++ b/docs-site/content/30.1/api/server-configuration.md @@ -102,6 +102,7 @@ Command line arguments can be passed to the server as `--parameter=value`. | `--filter-by-max-ops` | false | Maximum number of operators permitted in `filter_by` clause. Default: `100` | | `--max-per-page` | false | Max number of hits permitted per page. Default: `250` | | `--max-group-limit` | false | Max value of `group_limit` permitted when using `group_by`. Default: `99` | +| `--enable-lazy-filter` | false | Sets the server-wide default for lazy evaluation of filter clauses. When enabled, filter clauses are evaluated incrementally during search instead of upfront. Default: `false`.

**NOTE**: We recommend setting `enable_lazy_filter` as a [search parameter](./search.md#search-parameters) on a per-query basis instead of enabling it server-wide, since it is only beneficial for specific query patterns (e.g. filtering on large value sets where the query tokens match very few documents). | ### On-Disk DB Fine Tuning