diff --git a/.github/workflows/internal-dead-links.yml b/.github/workflows/internal-dead-links.yml index 14ba77fb0..0ecf31cf0 100644 --- a/.github/workflows/internal-dead-links.yml +++ b/.github/workflows/internal-dead-links.yml @@ -27,11 +27,11 @@ jobs: export PATH="${CURRENT_DIR}/dart-sass:${PATH}" cd qdrant-landing && hugo --gc -b 'http://localhost:1313' && hugo serve & sleep 5 # wait for server to start - - name: Link Checker + - name: Internal Links Check id: lychee uses: lycheeverse/lychee-action@v1.8.0 with: - args: --max-redirects 0 --exclude '.*' --include 'http://localhost:1313/.*' qdrant-landing/public/ + args: --max-redirects 0 --exclude '.*' --include 'http://localhost:1313/.*' --base http://localhost:1313/ qdrant-landing/public/ fail: true env: GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}} diff --git a/qdrant-landing/content/articles/qdrant-1.7.x.md b/qdrant-landing/content/articles/qdrant-1.7.x.md index 3fe9c617d..3a1efaa93 100644 --- a/qdrant-landing/content/articles/qdrant-1.7.x.md +++ b/qdrant-landing/content/articles/qdrant-1.7.x.md @@ -51,7 +51,7 @@ Things have changed since then, as so many of you wanted a single tool for spars If you're coming across the topic of sparse vectors for the first time, our [Brief History of Search](/documentation/overview/vector-search/) explains the difference between sparse and dense vectors. -Check out the [sparse vectors article](../sparse-vectors/) and [sparse vectors index docs](/documentation/concepts/indexing/#sparse-vector-index) for more details on what this new index means for Qdrant users. +Check out the [sparse vectors article](/articles/sparse-vectors/) and [sparse vectors index docs](/documentation/concepts/indexing/#sparse-vector-index) for more details on what this new index means for Qdrant users. ### Discovery API diff --git a/qdrant-landing/content/blog/azure-marketplace.md b/qdrant-landing/content/blog/azure-marketplace.md index e893b8ef1..da6c9f50d 100644 --- a/qdrant-landing/content/blog/azure-marketplace.md +++ b/qdrant-landing/content/blog/azure-marketplace.md @@ -50,7 +50,7 @@ We're incredibly excited about this collaboration with Azure Marketplace and the Ready to elevate your business with Qdrant? **Click the banner and get started today!** -[](https://azuremarketplace.microsoft.com/en-en/marketplace/apps/qdrantsolutionsgmbh1698769709989.qdrant-db) +[](https://azuremarketplace.microsoft.com/en-en/marketplace/apps/qdrantsolutionsgmbh1698769709989.qdrant-db) ### About Qdrant: diff --git a/qdrant-landing/content/blog/qdrant-stars-announcement copy.md b/qdrant-landing/content/blog/qdrant-stars-announcement copy.md index 1328d213a..ca447c149 100644 --- a/qdrant-landing/content/blog/qdrant-stars-announcement copy.md +++ b/qdrant-landing/content/blog/qdrant-stars-announcement copy.md @@ -130,7 +130,7 @@ I'm really excited to show the power of the Qdrant as vector database. Especiall We are happy to welcome this group of people who are deeply committed to advancing vector search technology. We look forward to supporting their vision, and helping them make a bigger impact on the community. -You can find and chat with them at our [Discord Community](discord.gg/qdrant). +You can find and chat with them at our [Discord Community](https://discord.gg/qdrant/). ### Why become a Qdrant Star? diff --git a/qdrant-landing/content/documentation/cloud/backups.md b/qdrant-landing/content/documentation/cloud/backups.md index 2fb6ca4c5..ac461df72 100644 --- a/qdrant-landing/content/documentation/cloud/backups.md +++ b/qdrant-landing/content/documentation/cloud/backups.md @@ -82,11 +82,11 @@ Here is how you can take a snapshot and recover a collection: - For a single node cluster, call the snapshot endpoint on the exposed URL. - For a multi node cluster call a snapshot on each node of the collection. Specifically, prepend `node-{num}-` to your cluster URL. - Then call the [snapshot endpoint](../../concepts/snapshots/#create-snapshot) on the individual hosts. Start with node 0. + Then call the [snapshot endpoint](/documentation/concepts/snapshots/#create-snapshot) on the individual hosts. Start with node 0. - In the response, you'll see the name of the snapshot. 2. Delete and recreate the collection. 3. Recover the snapshot: - - Call the [recover endpoint](../../concepts/snapshots/#recover-in-cluster-deployment). Set a location which points to the snapshot file (`file:///qdrant/snapshots/{collection_name}/{snapshot_file_name}`) for each host. + - Call the [recover endpoint](/documentation/concepts/snapshots/#recover-in-cluster-deployment). Set a location which points to the snapshot file (`file:///qdrant/snapshots/{collection_name}/{snapshot_file_name}`) for each host. ## Backup considerations diff --git a/qdrant-landing/content/documentation/cloud/cluster-scaling.md b/qdrant-landing/content/documentation/cloud/cluster-scaling.md index 44b928423..09d230eda 100644 --- a/qdrant-landing/content/documentation/cloud/cluster-scaling.md +++ b/qdrant-landing/content/documentation/cloud/cluster-scaling.md @@ -27,11 +27,11 @@ Vertical scaling can be an effective way to improve the performance of a cluster In such cases, horizontal scaling may be a more effective solution. -Horizontal scaling, also known as horizontal expansion, is the process of increasing the capacity of a cluster by adding more nodes and distributing the load and data among them. The horizontal scaling at Qdrant starts on the collection level. You have to choose the number of shards you want to distribute your collection around while creating the collection. Please refer to the [sharding documentation](../../guides/distributed_deployment/#sharding) section for details. +Horizontal scaling, also known as horizontal expansion, is the process of increasing the capacity of a cluster by adding more nodes and distributing the load and data among them. The horizontal scaling at Qdrant starts on the collection level. You have to choose the number of shards you want to distribute your collection around while creating the collection. Please refer to the [sharding documentation](/documentation/guides/distributed_deployment/#sharding) section for details. After that, you can configure, or change the amount of Qdrant database nodes within a cluster during cluster creation, or on the cluster detail page via "Scale" button. -Important: The number of shards means the maximum amount of nodes you can add to your cluster. In the beginning, all the shards can reside on one node. With the growing amount of data you can add nodes to your cluster and move shards to the dedicated nodes using the [cluster setup API](../../guides/distributed_deployment/#cluster-scaling). +Important: The number of shards means the maximum amount of nodes you can add to your cluster. In the beginning, all the shards can reside on one node. With the growing amount of data you can add nodes to your cluster and move shards to the dedicated nodes using the [cluster setup API](/documentation/guides/distributed_deployment/#cluster-scaling). Note, that it is currently not possible to horizontally scale down the cluster in the Qdrant Cloud UI. If you require a horizontal scale down, please open a support ticket. diff --git a/qdrant-landing/content/documentation/concepts/collections.md b/qdrant-landing/content/documentation/concepts/collections.md index ddc951979..548aa6020 100644 --- a/qdrant-landing/content/documentation/concepts/collections.md +++ b/qdrant-landing/content/documentation/concepts/collections.md @@ -28,7 +28,7 @@ These settings can be changed at any time by a corresponding request. ## Setting up multitenancy -**How many collections should you create?** In most cases, you should only use a single collection with payload-based partitioning. This approach is called [multitenancy](https://en.wikipedia.org/wiki/Multitenancy). It is efficient for most of users, but it requires additional configuration. [Learn how to set it up](../../tutorials/multiple-partitions/) +**How many collections should you create?** In most cases, you should only use a single collection with payload-based partitioning. This approach is called [multitenancy](https://en.wikipedia.org/wiki/Multitenancy). It is efficient for most of users, but it requires additional configuration. [Learn how to set it up](/documentation/tutorials/multiple-partitions/) **When should you create multiple collections?** When you have a limited number of users and you need isolation. This approach is flexible, but it may be more costly, since creating numerous collections may result in resource overhead. Also, you need to ensure that they do not affect each other in any way, including performance-wise. @@ -139,12 +139,12 @@ client.CreateCollection(context.Background(), &qdrant.CreateCollection{ In addition to the required options, you can also specify custom values for the following collection options: -* `hnsw_config` - see [indexing](../indexing/#vector-index) for details. -* `wal_config` - Write-Ahead-Log related configuration. See more details about [WAL](../storage/#versioning) -* `optimizers_config` - see [optimizer](../optimizer/) for details. -* `shard_number` - which defines how many shards the collection should have. See [distributed deployment](../../guides/distributed_deployment/#sharding) section for details. +* `hnsw_config` - see [indexing](/documentation/concepts/indexing/#vector-index) for details. +* `wal_config` - Write-Ahead-Log related configuration. See more details about [WAL](/documentation/concepts/storage/#versioning) +* `optimizers_config` - see [optimizer](/documentation/concepts/optimizer/) for details. +* `shard_number` - which defines how many shards the collection should have. See [distributed deployment](/documentation/guides/distributed_deployment/#sharding) section for details. * `on_disk_payload` - defines where to store payload data. If `true` - payload will be stored on disk only. Might be useful for limiting the RAM usage in case of large payload. -* `quantization_config` - see [quantization](../../guides/quantization/#setting-up-quantization-in-qdrant) for details. +* `quantization_config` - see [quantization](/documentation/guides/quantization/#setting-up-quantization-in-qdrant) for details. Default parameters for the optional collection parameters are defined in [configuration file](https://github.com/qdrant/qdrant/blob/master/config/config.yaml). @@ -155,7 +155,7 @@ See [schema definitions](https://api.qdrant.tech/api-reference/collections/creat Vectors all live in RAM for very quick access. The `on_disk` parameter can be set in the vector configuration. If true, all vectors will live on disk. This will enable the use of -[memmaps](../../concepts/storage/#configuring-memmap-storage), +[memmaps](/documentation/concepts/storage/#configuring-memmap-storage), which is suitable for ingesting a large amount of data. ### Create collection from another collection @@ -466,8 +466,8 @@ For rare use cases, it is possible to create a collection without any vector sto *Available as of v1.1.1* For each named vector you can optionally specify -[`hnsw_config`](../indexing/#vector-index) or -[`quantization_config`](../../guides/quantization/#setting-up-quantization-in-qdrant) to +[`hnsw_config`](/documentation/concepts/indexing/#vector-index) or +[`quantization_config`](/documentation/guides/quantization/#setting-up-quantization-in-qdrant) to deviate from the collection configuration. This can be useful to fine-tune search performance on a vector level. @@ -476,7 +476,7 @@ search performance on a vector level. Vectors all live in RAM for very quick access. On a per-vector basis you can set `on_disk` to true to store all vectors on disk at all times. This will enable the use of -[memmaps](../../concepts/storage/#configuring-memmap-storage), +[memmaps](/documentation/concepts/storage/#configuring-memmap-storage), which is suitable for ingesting a large amount of data. @@ -752,7 +752,7 @@ Outside of a unique name, there are no required configuration parameters for spa The distance function for sparse vectors is always `Dot` and does not need to be specified. -However, there are optional parameters to tune the underlying [sparse vector index](../indexing/#sparse-vector-index). +However, there are optional parameters to tune the underlying [sparse vector index](/documentation/concepts/indexing/#sparse-vector-index). ### Check collection existence @@ -928,9 +928,9 @@ client.UpdateCollection(context.Background(), &qdrant.UpdateCollection{ The following parameters can be updated: -* `optimizers_config` - see [optimizer](../optimizer/) for details. -* `hnsw_config` - see [indexing](../indexing/#vector-index) for details. -* `quantization_config` - see [quantization](../../guides/quantization/#setting-up-quantization-in-qdrant) for details. +* `optimizers_config` - see [optimizer](/documentation/concepts/optimizer/) for details. +* `hnsw_config` - see [indexing](/documentation/concepts/indexing/#vector-index) for details. +* `quantization_config` - see [quantization](/documentation/guides/quantization/#setting-up-quantization-in-qdrant) for details. * `vectors` - vector-specific configuration, including individual `hnsw_config`, `quantization_config` and `on_disk` settings. * `params` - other collection parameters, including `write_consistency_factor` and `on_disk_payload`. @@ -1495,14 +1495,14 @@ round of automatic optimizations has completed. To clarify: these numbers don't represent the exact amount of points or vectors you have inserted, nor does it represent the exact number of distinguishable points or vectors you can query. If you want to know exact counts, refer to the -[count API](../points/#counting-points). +[count API](/documentation/concepts/points/#counting-points). _Note: these numbers may be removed in a future version of Qdrant._ ### Indexing vectors in HNSW In some cases, you might be surprised the value of `indexed_vectors_count` is lower than `vectors_count`. This is an intended behaviour and -depends on the [optimizer configuration](../optimizer/). A new index segment is built if the size of non-indexed vectors is higher than the +depends on the [optimizer configuration](/documentation/concepts/optimizer/). A new index segment is built if the size of non-indexed vectors is higher than the value of `indexing_threshold`(in kB). If your collection is very small or the dimensionality of the vectors is low, there might be no HNSW segment created and `indexed_vectors_count` might be equal to `0`. diff --git a/qdrant-landing/content/documentation/concepts/explore.md b/qdrant-landing/content/documentation/concepts/explore.md index 797c472fd..9dedae023 100644 --- a/qdrant-landing/content/documentation/concepts/explore.md +++ b/qdrant-landing/content/documentation/concepts/explore.md @@ -7,7 +7,7 @@ aliases: # Explore the data -After mastering the concepts in [search](../search/), you can start exploring your data in other ways. Qdrant provides a stack of APIs that allow you to find similar vectors in a different fashion, as well as to find the most dissimilar ones. These are useful tools for recommendation systems, data exploration, and data cleaning. +After mastering the concepts in [search](/documentation/concepts/search/), you can start exploring your data in other ways. Qdrant provides a stack of APIs that allow you to find similar vectors in a different fashion, as well as to find the most dissimilar ones. These are useful tools for recommendation systems, data exploration, and data cleaning. ## Recommendation API diff --git a/qdrant-landing/content/documentation/concepts/filtering.md b/qdrant-landing/content/documentation/concepts/filtering.md index 402709d7f..8521ac246 100644 --- a/qdrant-landing/content/documentation/concepts/filtering.md +++ b/qdrant-landing/content/documentation/concepts/filtering.md @@ -8,7 +8,7 @@ aliases: # Filtering With Qdrant, you can set conditions when searching or retrieving points. -For example, you can impose conditions on both the [payload](../payload/) and the `id` of the point. +For example, you can impose conditions on both the [payload](/documentation/concepts/payload/) and the `id` of the point. Setting additional conditions is important when it is impossible to express all the features of the object in the embedding. Examples include a variety of business requirements: stock availability, user location, or desired price range. @@ -838,7 +838,7 @@ qdrant.NewMatchInt("count", 0) The simplest kind of condition is one that checks if the stored value equals the given one. If several values are stored, at least one of them should match the condition. -You can apply it to [keyword](../payload/#keyword), [integer](../payload/#integer) and [bool](../payload/#bool) payloads. +You can apply it to [keyword](/documentation/concepts/payload/#keyword), [integer](/documentation/concepts/payload/#integer) and [bool](/documentation/concepts/payload/#bool) payloads. ### Match Any @@ -847,7 +847,7 @@ You can apply it to [keyword](../payload/#keyword), [integer](../payload/#intege In case you want to check if the stored value is one of multiple values, you can use the Match Any condition. Match Any works as a logical OR for the given values. It can also be described as a `IN` operator. -You can apply it to [keyword](../payload/#keyword) and [integer](../payload/#integer) payloads. +You can apply it to [keyword](/documentation/concepts/payload/#keyword) and [integer](/documentation/concepts/payload/#integer) payloads. Example: @@ -909,7 +909,7 @@ In case you want to check if the stored value is not one of multiple values, you Match Except works as a logical NOR for the given values. It can also be described as a `NOT IN` operator. -You can apply it to [keyword](../payload/#keyword) and [integer](../payload/#integer) payloads. +You can apply it to [keyword](/documentation/concepts/payload/#keyword) and [integer](/documentation/concepts/payload/#integer) payloads. Example: @@ -1908,7 +1908,7 @@ A special case of the `match` condition is the `text` match condition. It allows you to search for a specific substring, token or phrase within the text field. Exact texts that will match the condition depend on full-text index configuration. -Configuration is defined during the index creation and describe at [full-text index](../indexing/#full-text-index). +Configuration is defined during the index creation and describe at [full-text index](/documentation/concepts/indexing/#full-text-index). If there is no full-text index for the field, the condition will work as exact substring match. @@ -2047,11 +2047,11 @@ Comparisons that can be used: - `lt` - less than - `lte` - less than or equal -Can be applied to [float](../payload/#float) and [integer](../payload/#integer) payloads. +Can be applied to [float](/documentation/concepts/payload/#float) and [integer](/documentation/concepts/payload/#integer) payloads. ### Datetime Range -The datetime range is a unique range condition, used for [datetime](../payload/#datetime) payloads, which supports RFC 3339 formats. +The datetime range is a unique range condition, used for [datetime](/documentation/concepts/payload/#datetime) payloads, which supports RFC 3339 formats. You do not need to convert dates to UNIX timestaps. During comparison, timestamps are parsed and converted to UTC. _Available as of v1.8.0_ @@ -2364,7 +2364,7 @@ qdrant.NewGeoRadius("location", 52.520711, 13.403683, 1000.0) It matches with `location`s inside a circle with the `center` at the center and a radius of `radius` meters. If several values are stored, at least one of them should match the condition. -These conditions can only be applied to payloads that match the [geo-data format](../payload/#geo). +These conditions can only be applied to payloads that match the [geo-data format](/documentation/concepts/payload/#geo). #### Geo Polygon Geo Polygons search is useful for when you want to find points inside an irregularly shaped area, for example a country boundary or a forest boundary. A polygon always has an exterior ring and may optionally include interior rings. A lake with an island would be an example of an interior ring. If you wanted to find points in the water but not on the island, you would make an interior ring for the island. @@ -2659,7 +2659,7 @@ qdrant.NewGeoPolygon("location", A match is considered any point location inside or on the boundaries of the given polygon's exterior but not inside any interiors. If several location values are stored for a point, then any of them matching will include that point as a candidate in the resultset. -These conditions can only be applied to payloads that match the [geo-data format](../payload/#geo). +These conditions can only be applied to payloads that match the [geo-data format](/documentation/concepts/payload/#geo). ### Values count diff --git a/qdrant-landing/content/documentation/concepts/hybrid-queries.md b/qdrant-landing/content/documentation/concepts/hybrid-queries.md index cd5bb2f18..3935ecd13 100644 --- a/qdrant-landing/content/documentation/concepts/hybrid-queries.md +++ b/qdrant-landing/content/documentation/concepts/hybrid-queries.md @@ -10,7 +10,7 @@ hideInSidebar: false # Optional. If true, the page will not be shown in the side *Available as of v1.10.0* -With the introduction of [many named vectors per point](../vectors/#named-vectors), there are use-cases when the best search is obtained by combining multiple queries, +With the introduction of [many named vectors per point](/documentation/concepts/vectors/#named-vectors), there are use-cases when the best search is obtained by combining multiple queries, or by performing the search in more than one stage. Qdrant has a flexible and universal interface to make this possible, called `Query API` ([API reference](https://api.qdrant.tech/api-reference/search/query-points)). @@ -793,7 +793,7 @@ Other than the introduction of `prefetch`, the `Query API` has been designed to ### Query by ID -Whenever you need to use a vector as an input, you can always use a [point ID](../points/#point-ids) instead. +Whenever you need to use a vector as an input, you can always use a [point ID](/documentation/concepts/points/#point-ids) instead. ```http POST /collections/{collection_name}/points/query @@ -1397,4 +1397,4 @@ client.QueryGroups(context.Background(), &qdrant.QueryPointGroups{ }) ``` -For more information on the `grouping` capabilities refer to the reference documentation for search with [grouping](./search/#search-groups) and [lookup](./search/#lookup-in-groups). +For more information on the `grouping` capabilities refer to the reference documentation for search with [grouping](/documentation/concepts/search/#search-groups) and [lookup](/documentation/concepts/search/#lookup-in-groups). diff --git a/qdrant-landing/content/documentation/concepts/indexing.md b/qdrant-landing/content/documentation/concepts/indexing.md index d1691116a..121bbe20c 100644 --- a/qdrant-landing/content/documentation/concepts/indexing.md +++ b/qdrant-landing/content/documentation/concepts/indexing.md @@ -12,14 +12,14 @@ A key feature of Qdrant is the effective combination of vector and traditional i The indexes in the segments exist independently, but the parameters of the indexes themselves are configured for the whole collection. Not all segments automatically have indexes. -Their necessity is determined by the [optimizer](../optimizer/) settings and depends, as a rule, on the number of stored points. +Their necessity is determined by the [optimizer](/documentation/concepts/optimizer/) settings and depends, as a rule, on the number of stored points. ## Payload Index Payload index in Qdrant is similar to the index in conventional document-oriented databases. This index is built for a specific field and type, and is used for quick point requests by the corresponding filtering condition. -The index is also used to accurately estimate the filter cardinality, which helps the [query planning](../search/#query-planning) choose a search strategy. +The index is also used to accurately estimate the filter cardinality, which helps the [query planning](/documentation/concepts/search/#query-planning) choose a search strategy. Creating an index requires additional computational resources and memory, so choosing fields to be indexed is essential. Qdrant does not make this choice but grants it to the user. @@ -119,19 +119,19 @@ client.CreateFieldIndex(context.Background(), &qdrant.CreateFieldIndexCollection }) ``` -You can use dot notation to specify a nested field for indexing. Similar to specifying [nested filters](../filtering/#nested-key). +You can use dot notation to specify a nested field for indexing. Similar to specifying [nested filters](/documentation/concepts/filtering/#nested-key). Available field types are: -* `keyword` - for [keyword](../payload/#keyword) payload, affects [Match](../filtering/#match) filtering conditions. -* `integer` - for [integer](../payload/#integer) payload, affects [Match](../filtering/#match) and [Range](../filtering/#range) filtering conditions. -* `float` - for [float](../payload/#float) payload, affects [Range](../filtering/#range) filtering conditions. -* `bool` - for [bool](../payload/#bool) payload, affects [Match](../filtering/#match) filtering conditions (available as of v1.4.0). -* `geo` - for [geo](../payload/#geo) payload, affects [Geo Bounding Box](../filtering/#geo-bounding-box) and [Geo Radius](../filtering/#geo-radius) filtering conditions. -* `datetime` - for [datetime](../payload/#datetime) payload, affects [Range](../filtering/#range) filtering conditions (available as of v1.8.0). -* `text` - a special kind of index, available for [keyword](../payload/#keyword) / string payloads, affects [Full Text search](../filtering/#full-text-match) filtering conditions. -* `uuid` - a special type of index, similar to `keyword`, but optimized for [UUID values](../payload/#uuid). -Affects [Match](../filtering/#match) filtering conditions. (available as of v1.11.0) +* `keyword` - for [keyword](/documentation/concepts/payload/#keyword) payload, affects [Match](/documentation/concepts/filtering/#match) filtering conditions. +* `integer` - for [integer](/documentation/concepts/payload/#integer) payload, affects [Match](/documentation/concepts/filtering/#match) and [Range](/documentation/concepts/filtering/#range) filtering conditions. +* `float` - for [float](/documentation/concepts/payload/#float) payload, affects [Range](/documentation/concepts/filtering/#range) filtering conditions. +* `bool` - for [bool](/documentation/concepts/payload/#bool) payload, affects [Match](/documentation/concepts/filtering/#match) filtering conditions (available as of v1.4.0). +* `geo` - for [geo](/documentation/concepts/payload/#geo) payload, affects [Geo Bounding Box](/documentation/concepts/filtering/#geo-bounding-box) and [Geo Radius](/documentation/concepts/filtering/#geo-radius) filtering conditions. +* `datetime` - for [datetime](/documentation/concepts/payload/#datetime) payload, affects [Range](/documentation/concepts/filtering/#range) filtering conditions (available as of v1.8.0). +* `text` - a special kind of index, available for [keyword](/documentation/concepts/payload/#keyword) / string payloads, affects [Full Text search](/documentation/concepts/filtering/#full-text-match) filtering conditions. +* `uuid` - a special type of index, similar to `keyword`, but optimized for [UUID values](/documentation/concepts/payload/#uuid). +Affects [Match](/documentation/concepts/filtering/#match) filtering conditions. (available as of v1.11.0) Payload index may occupy some additional memory, so it is recommended to only use index for those fields that are used in filtering conditions. If you need to filter by many fields and the memory limits does not allow to index all of them, it is recommended to choose the field that limits the search result the most. @@ -313,7 +313,7 @@ Available tokenizers are: * `prefix` - splits the string into words, separated by spaces, punctuation marks, and special characters, and then creates a prefix index for each word. For example: `hello` will be indexed as `h`, `he`, `hel`, `hell`, `hello`. * `multilingual` - special type of tokenizer based on [charabia](https://github.com/meilisearch/charabia) package. It allows proper tokenization and lemmatization for multiple languages, including those with non-latin alphabets and non-space delimiters. See [charabia documentation](https://github.com/meilisearch/charabia) for full list of supported languages supported normalization options. In the default build configuration, qdrant does not include support for all languages, due to the increasing size of the resulting binary. Chinese, Japanese and Korean languages are not enabled by default, but can be enabled by building qdrant from source with `--features multiling-chinese,multiling-japanese,multiling-korean` flags. -See [Full Text match](../filtering/#full-text-match) for examples of querying with full-text index. +See [Full Text match](/documentation/concepts/filtering/#full-text-match) for examples of querying with full-text index. ### Parameterized index @@ -645,7 +645,7 @@ The list will be extended in future versions. Many vector search use-cases require multitenancy. In a multi-tenant scenario the collection is expected to contain multiple subsets of data, where each subset belongs to a different tenant. -Qdrant supports efficient multi-tenant search by enabling [special configuration](../guides/multiple-partitions/) vector index, which disables global search and only builds sub-indexes for each tenant. +Qdrant supports efficient multi-tenant search by enabling [special configuration](/documentation/guides/multiple-partitions/) vector index, which disables global search and only builds sub-indexes for each tenant.
- \ No newline at end of file + \ No newline at end of file diff --git a/qdrant-landing/static/admin/emails/invite.html b/qdrant-landing/static/admin/emails/invite.html index 8f161294c..479983155 100644 --- a/qdrant-landing/static/admin/emails/invite.html +++ b/qdrant-landing/static/admin/emails/invite.html @@ -4,4 +4,4 @@ You have been invited to create a user on {{ .SiteURL }}. Follow this link to accept the invite: - + diff --git a/qdrant-landing/static/admin/emails/recovery.html b/qdrant-landing/static/admin/emails/recovery.html index 1c2d90742..d3b0de47c 100644 --- a/qdrant-landing/static/admin/emails/recovery.html +++ b/qdrant-landing/static/admin/emails/recovery.html @@ -2,4 +2,4 @@Follow this link to reset the password for your user:
- +