mirror of
https://github.com/qdrant/landing_page.git
synced 2026-09-27 15:08:30 +02:00
docs auto-sync
This commit is contained in:
@@ -60,11 +60,11 @@ client.scroll(
|
|||||||
must=[
|
must=[
|
||||||
models.FieldCondition(
|
models.FieldCondition(
|
||||||
key="city",
|
key="city",
|
||||||
match=models.Match(value="London"),
|
match=models.MatchValue(value="London"),
|
||||||
),
|
),
|
||||||
models.FieldCondition(
|
models.FieldCondition(
|
||||||
key="color",
|
key="color",
|
||||||
match=models.Match(value="red"),
|
match=models.MatchValue(value="red"),
|
||||||
),
|
),
|
||||||
]
|
]
|
||||||
),
|
),
|
||||||
@@ -108,11 +108,11 @@ client.scroll(
|
|||||||
should=[
|
should=[
|
||||||
models.FieldCondition(
|
models.FieldCondition(
|
||||||
key="city",
|
key="city",
|
||||||
match=models.Match(value="London"),
|
match=models.MatchValue(value="London"),
|
||||||
),
|
),
|
||||||
models.FieldCondition(
|
models.FieldCondition(
|
||||||
key="color",
|
key="color",
|
||||||
match=models.Match(value="red"),
|
match=models.MatchValue(value="red"),
|
||||||
),
|
),
|
||||||
]
|
]
|
||||||
),
|
),
|
||||||
@@ -159,11 +159,11 @@ client.scroll(
|
|||||||
must_not=[
|
must_not=[
|
||||||
models.FieldCondition(
|
models.FieldCondition(
|
||||||
key="city",
|
key="city",
|
||||||
match=models.Match(value="London")
|
match=models.MatchValue(value="London")
|
||||||
),
|
),
|
||||||
models.FieldCondition(
|
models.FieldCondition(
|
||||||
key="color",
|
key="color",
|
||||||
match=models.Match(value="red")
|
match=models.MatchValue(value="red")
|
||||||
),
|
),
|
||||||
]
|
]
|
||||||
),
|
),
|
||||||
@@ -210,13 +210,13 @@ client.scroll(
|
|||||||
must=[
|
must=[
|
||||||
models.FieldCondition(
|
models.FieldCondition(
|
||||||
key="city",
|
key="city",
|
||||||
match=models.Match(value="London")
|
match=models.MatchValue(value="London")
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
must_not=[
|
must_not=[
|
||||||
models.FieldCondition(
|
models.FieldCondition(
|
||||||
key="color",
|
key="color",
|
||||||
match=models.Match(value="red")
|
match=models.MatchValue(value="red")
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
@@ -263,11 +263,11 @@ client.scroll(
|
|||||||
must=[
|
must=[
|
||||||
models.FieldCondition(
|
models.FieldCondition(
|
||||||
key="city",
|
key="city",
|
||||||
match=models.Match(value="London")
|
match=models.MatchValue(value="London")
|
||||||
),
|
),
|
||||||
models.FieldCondition(
|
models.FieldCondition(
|
||||||
key="color",
|
key="color",
|
||||||
match=models.Match(value="red")
|
match=models.MatchValue(value="red")
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
|
|||||||
@@ -467,7 +467,7 @@ client.scroll(
|
|||||||
must=[
|
must=[
|
||||||
models.FieldCondition(
|
models.FieldCondition(
|
||||||
key="color",
|
key="color",
|
||||||
match=models.Match(value="red")
|
match=models.MatchValue(value="red")
|
||||||
),
|
),
|
||||||
]
|
]
|
||||||
),
|
),
|
||||||
@@ -510,3 +510,58 @@ Python client:
|
|||||||
```
|
```
|
||||||
-->
|
-->
|
||||||
|
|
||||||
|
## Counting points
|
||||||
|
|
||||||
|
*Avalable since v0.8.4*
|
||||||
|
|
||||||
|
Sometimes it can be useful to know how many points fit the filter conditions without doing a real search.
|
||||||
|
|
||||||
|
Among others, for example, we can highlight the following scenarios:
|
||||||
|
|
||||||
|
* Evaluation of results size for faceted search
|
||||||
|
* Determining the number of pages for pagination
|
||||||
|
* Debugging the query execution speed
|
||||||
|
|
||||||
|
|
||||||
|
REST API ([Schema](https://qdrant.github.io/qdrant/redoc/index.html#operation/scroll_points)):
|
||||||
|
|
||||||
|
```http
|
||||||
|
POST /collections/{collection_name}/points/count
|
||||||
|
|
||||||
|
{
|
||||||
|
"filter": {
|
||||||
|
"must": [
|
||||||
|
{
|
||||||
|
"key": "color",
|
||||||
|
"match": {
|
||||||
|
"value": "red"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"exact": true
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
```python
|
||||||
|
client.scroll(
|
||||||
|
collection_name="{collection_name}",
|
||||||
|
scroll_filter=models.Filter(
|
||||||
|
must=[
|
||||||
|
models.FieldCondition(
|
||||||
|
key="color",
|
||||||
|
match=models.MatchValue(value="red")
|
||||||
|
),
|
||||||
|
]
|
||||||
|
),
|
||||||
|
exact=True,
|
||||||
|
)
|
||||||
|
```
|
||||||
|
|
||||||
|
Returns number of counts mathcing given filtering conditions:
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"count": 3811
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|||||||
@@ -78,7 +78,7 @@ POST /collections/{collection_name}/points/search
|
|||||||
"hnsw_ef": 128
|
"hnsw_ef": 128
|
||||||
},
|
},
|
||||||
"vector": [0.2, 0.1, 0.9, 0.7],
|
"vector": [0.2, 0.1, 0.9, 0.7],
|
||||||
"top": 3
|
"limit": 3
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -104,12 +104,12 @@ client.search(
|
|||||||
hnsw_ef=128
|
hnsw_ef=128
|
||||||
),
|
),
|
||||||
query_vector=[0.2, 0.1, 0.9, 0.7],
|
query_vector=[0.2, 0.1, 0.9, 0.7],
|
||||||
top=3,
|
limit=3,
|
||||||
)
|
)
|
||||||
```
|
```
|
||||||
|
|
||||||
In this example, we are looking for vectors similar to vector `[0.2, 0.1, 0.9, 0.7]`.
|
In this example, we are looking for vectors similar to vector `[0.2, 0.1, 0.9, 0.7]`.
|
||||||
Parameter `top` specifies the amount of most similar results we would like to retrieve.
|
Parameter `limit` (or its alias - `top`) specifies the amount of most similar results we would like to retrieve.
|
||||||
|
|
||||||
Values under the key `params` specify custom parameters for the search.
|
Values under the key `params` specify custom parameters for the search.
|
||||||
Currently, it could be:
|
Currently, it could be:
|
||||||
@@ -145,7 +145,7 @@ It will exclude all results with a score worse than the given.
|
|||||||
|
|
||||||
<aside role="status">This parameter may exclude lower or higher scores depending on the used metric. For example, higher scores of Euclidean metric are considered more distant and, therefore, will be excluded.</aside>
|
<aside role="status">This parameter may exclude lower or higher scores depending on the used metric. For example, higher scores of Euclidean metric are considered more distant and, therefore, will be excluded.</aside>
|
||||||
|
|
||||||
### Payload in vector in the result
|
### Payload and vector in the result
|
||||||
|
|
||||||
By default, retrieval methods do not return any stored information.
|
By default, retrieval methods do not return any stored information.
|
||||||
Additional parameters `with_vector` and `with_payload` could alter this behavior.
|
Additional parameters `with_vector` and `with_payload` could alter this behavior.
|
||||||
@@ -229,7 +229,7 @@ POST /collections/{collection_name}/points/recommend
|
|||||||
},
|
},
|
||||||
"negative": [718],
|
"negative": [718],
|
||||||
"positive": [100, 231],
|
"positive": [100, 231],
|
||||||
"top": 10
|
"limit": 10
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -248,7 +248,7 @@ client.recommend(
|
|||||||
),
|
),
|
||||||
negative=[718],
|
negative=[718],
|
||||||
positive=[100, 231],
|
positive=[100, 231],
|
||||||
top=10,
|
limit=10,
|
||||||
)
|
)
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -265,3 +265,46 @@ Example result of this API would be
|
|||||||
"time": 0.001
|
"time": 0.001
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## Pagination
|
||||||
|
|
||||||
|
*Avalable since v0.8.3*
|
||||||
|
|
||||||
|
Search and recommendation APIs allow to skip first results of the search and return only the result starting from some specified offset:
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
```http
|
||||||
|
POST /collections/{collection_name}/points/search
|
||||||
|
|
||||||
|
{
|
||||||
|
"vector": [0.2, 0.1, 0.9, 0.7],
|
||||||
|
"with_vector": true,
|
||||||
|
"with_payload": true,
|
||||||
|
"limit": 10,
|
||||||
|
"offset": 100
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
```python
|
||||||
|
client.search(
|
||||||
|
collection_name="{collection_name}",
|
||||||
|
query_vector=[0.2, 0.1, 0.9, 0.7],
|
||||||
|
with_vector=True,
|
||||||
|
with_payload=True,
|
||||||
|
limit=10,
|
||||||
|
offset=100
|
||||||
|
)
|
||||||
|
```
|
||||||
|
|
||||||
|
Is equvalent to retrieving 11th page with 10 records per page.
|
||||||
|
|
||||||
|
<aside role="alert">Large offset values may cause performance issues</aside>
|
||||||
|
|
||||||
|
Vector-based retrieval in general and HNSW index in particular, are not designed to be paginated.
|
||||||
|
It is impossible to retrieve Nth closest vector without retrieving the first N vectors first.
|
||||||
|
|
||||||
|
However, using the offset parameter saves the resources by reducing network traffic and the number of times the storage is accessed.
|
||||||
|
|
||||||
|
Using an `offset` parameter, will require to internally retrieve `offset + limit` points, but only access payload and vector from the storage those points which are going to be actually returned.
|
||||||
|
|
||||||
|
|||||||
@@ -3,6 +3,8 @@ title: Snapshots
|
|||||||
weight: 51
|
weight: 51
|
||||||
---
|
---
|
||||||
|
|
||||||
|
*avalable since v0.8.4*
|
||||||
|
|
||||||
Snapshots are performed on a per collection basis and consist in a `tar` archive file containing the necessary data to restore the collection at the time of the snapshot.
|
Snapshots are performed on a per collection basis and consist in a `tar` archive file containing the necessary data to restore the collection at the time of the snapshot.
|
||||||
|
|
||||||
This feature can be used to archive data or easily replicate an existing deployment.
|
This feature can be used to archive data or easily replicate an existing deployment.
|
||||||
|
|||||||
Reference in New Issue
Block a user