mirror of
https://github.com/qdrant/landing_page.git
synced 2026-10-08 04:18:32 +02:00
Shortcode for rendering code snippets from separate markdown files (#1548)
* shortcode for rendering code snippets from separate markdown files * formatted code * fix and readme * semi-automatically extracts snippets from markdown * extract snippets from points.md * extract snippets from vectors.md * extract snippets from payload.md * extract snippets from search.md + fixes * extract snippets from explore.md * extract snippets from hybrid-queries.md + mode query by id into search * extract snippets from filtering.md * extract snippets from storage.md + update outdated info * extract snippets from indexing.md * extract snippets from snapshots.md * extract snippets from guides/optimize.md * extract snippets from guides/multiple-partitions.md + fix aside note * extract snippets from guides/quantization.md * use auto-generated descriptions * order json snippets first --------- Co-authored-by: generall <andrey@vasnetsov.com>
This commit is contained in:
+1
@@ -0,0 +1 @@
|
||||
This code snippet demonstrates how to use the feature for looking up information from another collection while grouping data. By utilizing the `with_lookup` parameter in the request payload, you can efficiently retrieve shared information associated with points grouped by a specific identifier. This approach helps in reducing redundancy and optimizing storage space, especially when dealing with large payloads across multiple grouped points. The `with_lookup` parameter allows you to specify what data to bring from the related points in the lookup collection, such as titles and text, providing a consolidated view of information within each group.
|
||||
+23
@@ -0,0 +1,23 @@
|
||||
```csharp
|
||||
using Qdrant.Client;
|
||||
using Qdrant.Client.Grpc;
|
||||
|
||||
var client = new QdrantClient("localhost", 6334);
|
||||
|
||||
await client.SearchGroupsAsync(
|
||||
collectionName: "{collection_name}",
|
||||
vector: new float[] { 0.2f, 0.1f, 0.9f, 0.7f},
|
||||
groupBy: "document_id",
|
||||
limit: 2,
|
||||
groupSize: 2,
|
||||
withLookup: new WithLookup
|
||||
{
|
||||
Collection = "documents",
|
||||
WithPayload = new WithPayloadSelector
|
||||
{
|
||||
Include = new PayloadIncludeSelector { Fields = { new string[] { "title", "text" } } }
|
||||
},
|
||||
WithVectors = false
|
||||
}
|
||||
);
|
||||
```
|
||||
@@ -0,0 +1,23 @@
|
||||
```go
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/qdrant/go-client/qdrant"
|
||||
)
|
||||
|
||||
client, err := qdrant.NewClient(&qdrant.Config{
|
||||
Host: "localhost",
|
||||
Port: 6334,
|
||||
})
|
||||
|
||||
client.QueryGroups(context.Background(), &qdrant.QueryPointGroups{
|
||||
CollectionName: "{collection_name}",
|
||||
Query: qdrant.NewQuery(0.2, 0.1, 0.9, 0.7),
|
||||
GroupBy: "document_id",
|
||||
GroupSize: qdrant.PtrOf(uint64(2)),
|
||||
WithLookup: &qdrant.WithLookup{
|
||||
Collection: "documents",
|
||||
WithPayload: qdrant.NewWithPayloadInclude("title", "text"),
|
||||
},
|
||||
})
|
||||
```
|
||||
+26
@@ -0,0 +1,26 @@
|
||||
```http
|
||||
POST /collections/chunks/points/query/groups
|
||||
{
|
||||
// Same as in the regular query API
|
||||
"query": [1.1],
|
||||
|
||||
// Grouping parameters
|
||||
"group_by": "document_id",
|
||||
"limit": 2,
|
||||
"group_size": 2,
|
||||
|
||||
// Lookup parameters
|
||||
"with_lookup": {
|
||||
// Name of the collection to look up points in
|
||||
"collection": "documents",
|
||||
|
||||
// Options for specifying what to bring from the payload
|
||||
// of the looked up point, true by default
|
||||
"with_payload": ["title", "text"],
|
||||
|
||||
// Options for specifying what to bring from the vector(s)
|
||||
// of the looked up point, true by default
|
||||
"with_vectors": false
|
||||
}
|
||||
}
|
||||
```
|
||||
+26
@@ -0,0 +1,26 @@
|
||||
```java
|
||||
import java.util.List;
|
||||
|
||||
import io.qdrant.client.grpc.Points.QueryPointGroups;
|
||||
import io.qdrant.client.grpc.Points.WithLookup;
|
||||
|
||||
import static io.qdrant.client.QueryFactory.nearest;
|
||||
import static io.qdrant.client.WithVectorsSelectorFactory.enable;
|
||||
import static io.qdrant.client.WithPayloadSelectorFactory.include;
|
||||
|
||||
client.queryGroupsAsync(
|
||||
QueryPointGroups.newBuilder()
|
||||
.setCollectionName("{collection_name}")
|
||||
.setQuery(nearest(0.2f, 0.1f, 0.9f, 0.7f))
|
||||
.setGroupBy("document_id")
|
||||
.setLimit(2)
|
||||
.setGroupSize(2)
|
||||
.setWithLookup(
|
||||
WithLookup.newBuilder()
|
||||
.setCollection("documents")
|
||||
.setWithPayload(include(List.of("title", "text")))
|
||||
.setWithVectors(enable(false))
|
||||
.build())
|
||||
.build())
|
||||
.get();
|
||||
```
|
||||
+22
@@ -0,0 +1,22 @@
|
||||
```python
|
||||
client.query_points_groups(
|
||||
collection_name="chunks",
|
||||
# Same as in the regular search() API
|
||||
query=[1.1],
|
||||
# Grouping parameters
|
||||
group_by="document_id", # Path of the field to group by
|
||||
limit=2, # Max amount of groups
|
||||
group_size=2, # Max amount of points per group
|
||||
# Lookup parameters
|
||||
with_lookup=models.WithLookup(
|
||||
# Name of the collection to look up points in
|
||||
collection="documents",
|
||||
# Options for specifying what to bring from the payload
|
||||
# of the looked up point, True by default
|
||||
with_payload=["title", "text"],
|
||||
# Options for specifying what to bring from the vector(s)
|
||||
# of the looked up point, True by default
|
||||
with_vectors=False,
|
||||
),
|
||||
)
|
||||
```
|
||||
+19
@@ -0,0 +1,19 @@
|
||||
```rust
|
||||
use qdrant_client::qdrant::{with_payload_selector::SelectorOptions, QueryPointGroupsBuilder, WithLookupBuilder};
|
||||
|
||||
client
|
||||
.query_groups(
|
||||
QueryPointGroupsBuilder::new("{collection_name}", "document_id")
|
||||
.query(vec![0.2, 0.1, 0.9, 0.7])
|
||||
.limit(2u64)
|
||||
.limit(2u64)
|
||||
.with_lookup(
|
||||
WithLookupBuilder::new("documents")
|
||||
.with_payload(SelectorOptions::Include(
|
||||
vec!["title".to_string(), "text".to_string()].into(),
|
||||
))
|
||||
.with_vectors(false),
|
||||
),
|
||||
)
|
||||
.await?;
|
||||
```
|
||||
+13
@@ -0,0 +1,13 @@
|
||||
```typescript
|
||||
client.queryGroups("{collection_name}", {
|
||||
query: [1.1],
|
||||
group_by: "document_id",
|
||||
limit: 2,
|
||||
group_size: 2,
|
||||
with_lookup: {
|
||||
collection: "documents",
|
||||
with_payload: ["title", "text"],
|
||||
with_vectors: false,
|
||||
},
|
||||
});
|
||||
```
|
||||
Reference in New Issue
Block a user