Publish docs for version 1.17 (#2137)

* Cluster Telemetry docs (#2068)

* mention cluster telemetry

* small reword

* Docs for read_fan_out_delay_ms

* Add warning against setting threshold too low

* Small docs change for inference API keys

* Trigger Build

* Add guide with tips for low latency search (#2136)

* Update frontmatter weights

* Add 'Tips for Low-Latency Search' guide

* Review feedback

* Temporarily bump Rust client to v1-17-upgrade branch

* Docs for audit logging (#2141)

* Docs for audit logging

* Consistent title casing

* Review feedback

* Docs for optimization monitoring (#2121)

* Docs for optimization monitoring

* Review feedback

* Optimization monitoring is cluster-wide now

* Upgrade code snippet checker to 1.17

* Fix broken Python snippets

* Relevance Feedback docs (#2060)

* add relevance feedback in Explore page

* Review

* Trigger Build

* Trigger Build

* Create new 'Search Relevance' concept page

* Tweaks

* Update links to moved content

* add rust snippet

* TS anippets

* Clarification about using point IDs

* Add links

* Restructure paragraphs

* docs: Go snippet

Signed-off-by: Anush008 <mail@anush.sh>

* docs: Missed Java snippets with C#

Signed-off-by: Anush008 <mail@anush.sh>

* new: add python snippets

* Make Java and Rust snippets testable

* Remove unnecessary styling

---------

Signed-off-by: Anush008 <mail@anush.sh>
Co-authored-by: Evgeniya Sukhodolskaya <suxodolskaya97@gmail.com>
Co-authored-by: Abdon Pijpelink <abdon.pijpelink@qdrant.com>
Co-authored-by: Ivan Pleshkov <pleshkov.ivan@gmail.com>
Co-authored-by: Anush008 <mail@anush.sh>
Co-authored-by: George Panchuk <george.panchuk@qdrant.tech>

* Docs for enable_hnsw (#2080)

* Move 'Filterable HNSW Index' section under 'Vector Index'

* Add docs for enable_hnsw

* docs: Go snippets

Signed-off-by: Anush008 <mail@anush.sh>

* docs: Java snippets

Signed-off-by: Anush008 <mail@anush.sh>

* docs: C# snippets

Signed-off-by: Anush008 <mail@anush.sh>

* Add Rust snippet

* TS snippets

* new: add python snippets

---------

Signed-off-by: Anush008 <mail@anush.sh>
Co-authored-by: Anush008 <mail@anush.sh>
Co-authored-by: timvisee <tim@visee.me>
Co-authored-by: Ivan Pleshkov <pleshkov.ivan@gmail.com>
Co-authored-by: George Panchuk <george.panchuk@qdrant.tech>

* Docs for list shard keys API (#2082)

* Docs for list shard keys

* docs: Go snippets

Signed-off-by: Anush008 <mail@anush.sh>

* docs: Java snippets

Signed-off-by: Anush008 <mail@anush.sh>

* docs: C# snippets

Signed-off-by: Anush008 <mail@anush.sh>

* Add Rust snippet

* docs: TS snippets

* new: add python snippets

---------

Signed-off-by: Anush008 <mail@anush.sh>
Co-authored-by: Anush008 <mail@anush.sh>
Co-authored-by: timvisee <tim@visee.me>
Co-authored-by: Ivan Pleshkov <pleshkov.ivan@gmail.com>
Co-authored-by: George Panchuk <george.panchuk@qdrant.tech>

* Docs for update_mode (#2097)

* Docs for update_mode

* docs: C#, Go, Java snippets

Signed-off-by: Anush008 <mail@anush.sh>

* doc: Remove _ from C# snippet

Signed-off-by: Anush008 <mail@anush.sh>

* Add Rust snippet

* Fix some snippets

* Review feedback

* ts snippets

* new: add python snippets

* fix: add generated python.md

---------

Signed-off-by: Anush008 <mail@anush.sh>
Co-authored-by: Anush008 <mail@anush.sh>
Co-authored-by: timvisee <tim@visee.me>
Co-authored-by: Ivan Pleshkov <pleshkov.ivan@gmail.com>
Co-authored-by: George Panchuk <george.panchuk@qdrant.tech>

* Docs for weighted RRF (#2132)

* Docs for weighted RRF

* docs: Go, Java, C# snippets

Signed-off-by: Anush008 <mail@anush.sh>

* Add Rust snippet

* Apply suggestions from code review

Co-authored-by: Luis Cossío <luis.cossio@qdrant.com>

* Delete landing_page.sln

* Review feedback

* ts snippets

* new: add python snippets

* Trigger Build

---------

Signed-off-by: Anush008 <mail@anush.sh>
Co-authored-by: Anush008 <mail@anush.sh>
Co-authored-by: timvisee <tim@visee.me>
Co-authored-by: Luis Cossío <luis.cossio@qdrant.com>
Co-authored-by: Ivan Pleshkov <pleshkov.ivan@gmail.com>
Co-authored-by: George Panchuk <george.panchuk@qdrant.tech>

* Clean up Go and Java snippets

* Revert go snippet change; target Go client 1.17.1

* Updated Go snippet

* Trigger Build

* Update Rust lockfile

---------

Signed-off-by: Anush008 <mail@anush.sh>
Co-authored-by: Luis Cossío <luis.cossio@qdrant.com>
Co-authored-by: Daniel Boros <56868953+dancixx@users.noreply.github.com>
Co-authored-by: timvisee <tim@visee.me>
Co-authored-by: Evgeniya Sukhodolskaya <suxodolskaya97@gmail.com>
Co-authored-by: Ivan Pleshkov <pleshkov.ivan@gmail.com>
Co-authored-by: Anush008 <mail@anush.sh>
Co-authored-by: George Panchuk <george.panchuk@qdrant.tech>
This commit is contained in:
Abdon Pijpelink
2026-02-20 10:42:12 +01:00
committed by GitHub
co-authored by Evgeniya Sukhodolskaya Ivan Pleshkov Anush008 George Panchuk timvisee Luis Cossío Daniel Boros
parent 92ff228b79
commit 378837432e
113 changed files with 1942 additions and 256 deletions
@@ -0,0 +1 @@
This code snippet demonstrates how to create a payload index for a keyword field while disabling the creation of additional HNSW graph nodes for that index by setting the `enable_hnsw` parameter to `false`.
@@ -0,0 +1,23 @@
using Qdrant.Client;
using Qdrant.Client.Grpc;
public class Snippet
{
public static async Task Run()
{
var client = new QdrantClient("localhost", 6334);
await client.CreatePayloadIndexAsync(
collectionName: "{collection_name}",
fieldName: "name_of_the_field_to_index",
schemaType: PayloadSchemaType.Keyword,
indexParams: new PayloadIndexParams
{
KeywordIndexParams = new KeywordIndexParams
{
EnableHnsw = false
}
}
);
}
}
@@ -0,0 +1,19 @@
```csharp
using Qdrant.Client;
using Qdrant.Client.Grpc;
var client = new QdrantClient("localhost", 6334);
await client.CreatePayloadIndexAsync(
collectionName: "{collection_name}",
fieldName: "name_of_the_field_to_index",
schemaType: PayloadSchemaType.Keyword,
indexParams: new PayloadIndexParams
{
KeywordIndexParams = new KeywordIndexParams
{
EnableHnsw = false
}
}
);
```
@@ -0,0 +1,22 @@
```go
import (
"context"
"github.com/qdrant/go-client/qdrant"
)
client, err := qdrant.NewClient(&qdrant.Config{
Host: "localhost",
Port: 6334,
})
client.CreateFieldIndex(context.Background(), &qdrant.CreateFieldIndexCollection{
CollectionName: "{collection_name}",
FieldName: "name_of_the_field_to_index",
FieldType: qdrant.FieldType_FieldTypeKeyword.Enum(),
FieldIndexParams: qdrant.NewPayloadIndexParamsKeyword(
&qdrant.KeywordIndexParams{
EnableHnsw: qdrant.PtrOf(false),
}),
})
```
@@ -0,0 +1,26 @@
```java
import io.qdrant.client.QdrantClient;
import io.qdrant.client.QdrantGrpcClient;
import io.qdrant.client.grpc.Collections.KeywordIndexParams;
import io.qdrant.client.grpc.Collections.PayloadIndexParams;
import io.qdrant.client.grpc.Collections.PayloadSchemaType;
QdrantClient client =
new QdrantClient(QdrantGrpcClient.newBuilder("localhost", 6334, false).build());
client
.createPayloadIndexAsync(
"{collection_name}",
"name_of_the_field_to_index",
PayloadSchemaType.Keyword,
PayloadIndexParams.newBuilder()
.setKeywordIndexParams(
KeywordIndexParams.newBuilder()
.setEnableHnsw(false)
.build())
.build(),
null,
null,
null)
.get();
```
@@ -0,0 +1,15 @@
```python
from qdrant_client import QdrantClient, models
client = QdrantClient(url="http://localhost:6333")
client.create_payload_index(
collection_name="{collection_name}",
field_name="name_of_the_field_to_index",
field_schema=models.TextIndexParams(
type=models.TextIndexType.TEXT,
tokenizer=models.TokenizerType.WORD,
enable_hnsw=False,
),
)
```
@@ -0,0 +1,19 @@
```rust
use qdrant_client::qdrant::{
CreateFieldIndexCollectionBuilder, FieldType, KeywordIndexParamsBuilder,
};
use qdrant_client::Qdrant;
let client = Qdrant::from_url("http://localhost:6334").build()?;
client
.create_field_index(
CreateFieldIndexCollectionBuilder::new(
"{collection_name}",
"name_of_the_field_to_index",
FieldType::Keyword,
)
.field_index_params(KeywordIndexParamsBuilder::default().enable_hnsw(false)),
)
.await?;
```
@@ -0,0 +1,9 @@
```typescript
client.createPayloadIndex("{collection_name}", {
field_name: "name_of_the_field_to_index",
field_schema: {
type: "keyword",
enable_hnsw: false,
},
});
```
@@ -0,0 +1,30 @@
package snippet
import (
"context"
"github.com/qdrant/go-client/qdrant"
)
func Main() {
client, err := qdrant.NewClient(&qdrant.Config{
Host: "localhost",
Port: 6334,
})
// @hide-start
if err != nil {
panic(err)
}
// @hide-end
client.CreateFieldIndex(context.Background(), &qdrant.CreateFieldIndexCollection{
CollectionName: "{collection_name}",
FieldName: "name_of_the_field_to_index",
FieldType: qdrant.FieldType_FieldTypeKeyword.Enum(),
FieldIndexParams: qdrant.NewPayloadIndexParamsKeyword(
&qdrant.KeywordIndexParams{
EnableHnsw: qdrant.PtrOf(false),
}),
})
}
@@ -0,0 +1,10 @@
```http
PUT /collections/{collection_name}/index
{
"field_name": "name_of_the_field_to_index",
"field_schema": {
"type": "keyword",
"enable_hnsw": false
}
}
```
@@ -0,0 +1,30 @@
package com.example.snippets_amalgamation;
import io.qdrant.client.QdrantClient;
import io.qdrant.client.QdrantGrpcClient;
import io.qdrant.client.grpc.Collections.KeywordIndexParams;
import io.qdrant.client.grpc.Collections.PayloadIndexParams;
import io.qdrant.client.grpc.Collections.PayloadSchemaType;
public class Snippet {
public static void run() throws Exception {
QdrantClient client =
new QdrantClient(QdrantGrpcClient.newBuilder("localhost", 6334, false).build());
client
.createPayloadIndexAsync(
"{collection_name}",
"name_of_the_field_to_index",
PayloadSchemaType.Keyword,
PayloadIndexParams.newBuilder()
.setKeywordIndexParams(
KeywordIndexParams.newBuilder()
.setEnableHnsw(false)
.build())
.build(),
null,
null,
null)
.get();
}
}
@@ -0,0 +1,13 @@
from qdrant_client import QdrantClient, models
client = QdrantClient(url="http://localhost:6333")
client.create_payload_index(
collection_name="{collection_name}",
field_name="name_of_the_field_to_index",
field_schema=models.TextIndexParams(
type=models.TextIndexType.TEXT,
tokenizer=models.TokenizerType.WORD,
enable_hnsw=False,
),
)
@@ -0,0 +1,21 @@
use qdrant_client::qdrant::{
CreateFieldIndexCollectionBuilder, FieldType, KeywordIndexParamsBuilder,
};
use qdrant_client::Qdrant;
pub async fn main() -> anyhow::Result<()> {
let client = Qdrant::from_url("http://localhost:6334").build()?;
client
.create_field_index(
CreateFieldIndexCollectionBuilder::new(
"{collection_name}",
"name_of_the_field_to_index",
FieldType::Keyword,
)
.field_index_params(KeywordIndexParamsBuilder::default().enable_hnsw(false)),
)
.await?;
Ok(())
}
@@ -0,0 +1,11 @@
import { QdrantClient } from "@qdrant/js-client-rest"; // @hide
const client = new QdrantClient({ host: "localhost", port: 6333 }); // @hide
client.createPayloadIndex("{collection_name}", {
field_name: "name_of_the_field_to_index",
field_schema: {
type: "keyword",
enable_hnsw: false,
},
});
@@ -2,6 +2,6 @@
client.create_payload_index(
collection_name="{collection_name}",
field_name="name_of_the_field_to_index",
field_schema="keyword",
field_schema=models.PayloadSchemaType.KEYWORD,
)
```
@@ -1,9 +1,9 @@
from qdrant_client import QdrantClient # @hide
from qdrant_client import QdrantClient, models # @hide
client = QdrantClient(url="http://localhost:6333") # @hide
client.create_payload_index(
collection_name="{collection_name}",
field_name="name_of_the_field_to_index",
field_schema="keyword",
field_schema=models.PayloadSchemaType.KEYWORD,
)