Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
FT.CREATE crée un index de recherche.
Syntaxe
FT.CREATE index
ON HASH
[PREFIX count prefix [prefix ...]]
SCHEMA field_name [AS alias] VECTOR [HNSW|FLAT] attribute_count [attribute_name attribute_value]
[field_name [AS alias] NUMERIC]
[field_name [AS alias] TAG [SEPARATOR ...] [CASESENSITIVE]]
index (obligatoire): nom que vous attribuez à votre index. Si un indice portant le même nom existe déjà, une erreur est renvoyée.
ON HASH (facultatif): indique le type de données HASH. Seul le type de données HASH est accepté.
PREFIX [count] [prefix] (facultatif): indique les clés de hachage à indexer.
SCHEMA hash_field_name (obligatoire): le nom du champ de hachage après SCHEMA identifie le nom du champ dans le hachage. [AS alias] attribue le nom alias comme alias de l'attribut de nom de champ.
Types de champs
VECTOR (obligatoire): champ de vecteur pour la recherche vectorielle:
[HNSW|FLAT] (obligatoire): algorithme désigné. FLAT (force brute) ou HNSW (Hierarchical Navigable Small World)
attribute_count (obligatoire): nombre total d'attributs de noms et de valeurs transmis dans la configuration de l'algorithme.
attribute_name attribute_value: paires clé-valeur qui définissent la configuration de l'index, mais qui sont spécifiques à l'un des deux algorithmes disponibles.
Attributs de l'algorithme HNSW obligatoires:
DIM (obligatoire): nombre de dimensions du vecteur. Les valeurs acceptées sont 1-32768.
TYPE (obligatoire): type de vecteur. Seule l'option FLOAT32 est acceptée.
DISTANCE_METRIC (obligatoire) : doit être défini sur l'une des valeurs suivantes : L2, IP ou COSINE.
Attributs facultatifs de l'algorithme HNSW:
EF_RUNTIME (facultatif): définit le nombre de vecteurs à examiner lors d'une opération de requête. La valeur par défaut est 10 et la valeur maximale est 4096. Vous pouvez définir la valeur de ce paramètre pour chaque requête que vous exécutez. Des valeurs plus élevées augmentent les temps de requête, mais améliorent le rappel des requêtes.
M (facultatif): nombre maximal d'arêtes sortantes autorisées pour chaque nœud du graphique dans chaque couche. Le nombre maximal d'arêtes sortantes est de 2 millions pour la couche 0. La valeur par défaut est 16. Le maximum est de 512.
EF_CONSTRUCTION (facultatif): définit le nombre de vecteurs à examiner lors de la création de l'index. La valeur par défaut est 200 et la valeur maximale est 4096. Des valeurs plus élevées augmentent le temps nécessaire pour créer des index, mais améliorent le ratio de rappel.
INITIAL_CAP (facultatif): détermine la capacité vectorielle de départ de l'index. La valeur par défaut est 1024. Ce paramètre détermine l'allocation de mémoire de l'index.
Attributs obligatoires de l'algorithme FLAT:
DIM (obligatoire): nombre de dimensions du vecteur.
TYPE (obligatoire): type de vecteur. Seule l'option FLOAT32 est acceptée.
DISTANCE_METRIC (obligatoire) : doit être défini sur l'une des valeurs suivantes : L2, IP ou COSINE.
Attributs facultatifs de l'algorithme FLAT:
INITIAL_CAP (facultatif): détermine la capacité vectorielle de départ de l'index. Ce paramètre détermine l'allocation de mémoire de l'index.
NUMERIC (facultatif) : champ numérique pour la recherche numérique.
TAG (facultatif) : champ de tag pour la recherche basée sur les tags.
SEPARATOR (facultatif): caractère utilisé pour diviser la chaîne de balises en balises individuelles. La valeur par défaut est ,. La valeur spécifiée doit être un seul caractère. Par exemple, la chaîne de balise "hello, world" sera interprétée comme "hello" et "world", et sera indexée en conséquence. Les valeurs autorisées sont ,.<>{}[]"':;!@#$%^&*()-+=~
CASESENSITIVE (facultatif): indique si les champs de balise sont sensibles à la casse. Par défaut, les balises ne sont pas sensibles à la casse. Une chaîne de balise "HeLLo" sera indexée sous la forme "hello", et une requête pour "Hello" et "HeLlo" donnera le même résultat.
Remarques
Dans la commande FT.CREATE, les index VECTOR, NUMERIC et TAG peuvent apparaître dans n'importe quel ordre.
Un champ ne peut être indexé qu'une seule fois. Dans l'exemple fourni, le champ my_vector_field_key ne peut pas être répété dans le même indice.
Vous ne pouvez indexer qu'un maximum de 10 champs dans une seule commande FT.CREATE.
Par défaut, les tags ne sont pas sensibles à la casse.
Par défaut, les balises sont délimitées par ,.
Les requêtes individuelles sur les tags et les requêtes numériques ne sont pas acceptées. Ces champs ne peuvent être utilisés qu'avec des recherches vectorielles.
Examples
Exemple HNSW:
FT.CREATE my_index_name SCHEMA my_hash_field_key VECTOR HNSW 10 TYPE FLOAT32 DIM 20 DISTANCE_METRIC COSINE M 4 EF_CONSTRUCTION 100
Exemple FLAT:
FT.CREATE my_index_name SCHEMA my_hash_field_key VECTOR Flat 8 TYPE FLOAT32 DIM 20 DISTANCE_METRIC COSINE INITIAL_CAP 15000
Exemple de HNSW avec un champ numérique:
FT.CREATE my_index_name SCHEMA my_vector_field_key VECTOR HNSW 10 TYPE FLOAT32 DIM 20 DISTANCE_METRIC COSINE M 4 EF_CONSTRUCTION 100 my_numeric_field_key NUMERIC
Exemple d'utilisation de HNSW avec un champ de balise:
FT.CREATE my_index_name SCHEMA my_vector_field_key VECTOR HNSW 10 TYPE FLOAT32 DIM 20 DISTANCE_METRIC COSINE M 4 EF_CONSTRUCTION 100 my_tag_field_key TAG SEPARATOR '@' CASESENSITIVE
Exemple de HNSW avec une balise et un champ numérique:
FT.CREATE my_index_name SCHEMA my_vector_field_key VECTOR HNSW 10 TYPE FLOAT32 DIM 20 DISTANCE_METRIC COSINE M 4 EF_CONSTRUCTION 100 my_tag_field_key TAG SEPARATOR '@' CASESENSITIVE my_numeric_field_key NUMERIC
Exemple d'index HNSW avec plusieurs champs de tags et numériques:
FT.CREATE my_index_name SCHEMA my_vector_field_key VECTOR HNSW 10 TYPE FLOAT32 DIM 20 DISTANCE_METRIC COSINE M 4 EF_CONSTRUCTION 100 my_tag_field_key_1 TAG SEPARATOR '@' CASESENSITIVE my_numeric_field_key_1 NUMERIC my_numeric_field_key_2 NUMERIC my_tag_field_key_2 TAG
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/09/05 (UTC).
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Difficile à comprendre","hardToUnderstand","thumb-down"],["Informations ou exemple de code incorrects","incorrectInformationOrSampleCode","thumb-down"],["Il n'y a pas l'information/les exemples dont j'ai besoin","missingTheInformationSamplesINeed","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Autre","otherDown","thumb-down"]],["Dernière mise à jour le 2025/09/05 (UTC)."],[],[],null,["# FT.CREATE\n\n`FT.CREATE` creates a searchable index.\n\nSyntax\n------\n\n```\nFT.CREATE index\n ON HASH\n [PREFIX count prefix [prefix ...]]\n SCHEMA field_name [AS alias] VECTOR [HNSW|FLAT] attribute_count [attribute_name attribute_value]\n [field_name [AS alias] NUMERIC]\n [field_name [AS alias] TAG [SEPARATOR ...] [CASESENSITIVE]]\n```\n\n- `index` (required): This is the name you give to your index. If an index with the same\n name exists already, an error is returned.\n\n- `ON HASH` (optional): This indicates the HASH data type. Only the HASH data type is\n supported.\n\n- `PREFIX [count] [prefix]` (optional): This indicates which hash keys to index.\n\n- `SCHEMA hash_field_name` (required): The hash_field_name after SCHEMA identifies the field name\n in the hash. `[AS alias]` assigns the name `alias` as an alias for the\n field name attribute.\n\n### Field types\n\n- `VECTOR` (required): Vector field for vector search:\n\n - `[HNSW|FLAT]` (required): Designated algorithm. Either `FLAT` (brute force) or\n HNSW (Hierarchical Navigable Small World).\n\n - `attribute_count` (required): Total attribute count of names and values\n passed in the algorithm config.\n\n - `attribute_name attribute_value`: Key-value pairs that define\n the index configuration, but are specific to one of the two available\n algorithms.\n\n - Required HNSW algorithm attributes:\n\n - `DIM` (required): Vector dimensions count. Accepted values are `1`-`32768`.\n\n - `TYPE` (required): The vector type. Only `FLOAT32` is supported.\n\n - `DISTANCE_METRIC` (required): Must be one of the following - `L2`, `IP`, or `COSINE`.\n\n - Optional HNSW algorithm attributes:\n\n - `EF_RUNTIME` (optional): Sets the count of vectors to be examined during a query operation. The default is `10`, and the max is `4096`. You can set this parameter value for each query you run. Higher values increase query times, but improve query recall.\n\n - `M` (optional): The count of maximum permitted outgoing edges for each node in the graph in each layer. The maximum number of outgoing edges is 2M for layer 0. The Default is 16. The maximum is 512.\n\n - `EF_CONSTRUCTION` (optional): Sets count for vectors to be examined during index construction. The default is `200`, and the max is `4096`. Higher values increase the time needed to create indexes, but improve the recall ratio.\n\n - `INITIAL_CAP` (optional): Determines the starting vector capacity of the index. The default is `1024`. This parameter determines the index memory allocation.\n\n - Required FLAT algorithm attributes:\n\n - `DIM` (required): Vector dimensions count.\n\n - `TYPE` (required): The vector type. Only `FLOAT32` is supported.\n\n - `DISTANCE_METRIC` (required): Must be one of the following - `L2`, `IP`, or `COSINE`.\n\n - Optional FLAT algorithm attributes:\n\n - `INITIAL_CAP` (optional): Determines the starting vector capacity of the index. This parameter determines the index memory allocation.\n- `NUMERIC` (optional) - Numeric field for numeric search.\n\n- `TAG` (optional) - Tag field for TAG based search.\n\n - `SEPARATOR` (optional): A character utilized to divide the tag string into individual tags. The default option is `,`. The specified value must be a singular character. For example, the tag string \"hello, world\" will be interpreted as \"hello\" and \"world\" and will be indexed accordingly. Allowed values are `,.\u003c\u003e{}[]\"':;!@#$%^&*()-+=~`\n\n - `CASESENSITIVE` (optional): Denotes the case sensitivity of tag fields. By default, tags are not case-sensitive. A tag string \"HeLLo\" will be indexed as \"hello,\" and a query for \"Hello\" and \"HeLlo\" will yield the same result.\n\n### Notes\n\n- Within the FT.CREATE command, VECTOR, NUMERIC, and TAG indexes can appear in any sequence.\n\n- A field can only be indexed once. In the example provided, the field `my_vector_field_key` cannot be repeated within the same index.\n\n- In a single FT.CREATE command, a maximum of 10 fields can be indexed.\n\n- By default, TAGs are case insensitive.\n\n- By default, TAGs are delimited by `,`.\n\n- Individual queries on tag and numeric queries are not supported. These fields can only be utilized along with vector-based searches.\n\n### Examples\n\nHNSW example: \n\n```\nFT.CREATE my_index_name SCHEMA my_hash_field_key VECTOR HNSW 10 TYPE FLOAT32 DIM 20 DISTANCE_METRIC COSINE M 4 EF_CONSTRUCTION 100\n```\n\nFLAT example: \n\n```\nFT.CREATE my_index_name SCHEMA my_hash_field_key VECTOR Flat 8 TYPE FLOAT32 DIM 20 DISTANCE_METRIC COSINE INITIAL_CAP 15000\n```\n\nHNSW example with a numeric field: \n\n```\nFT.CREATE my_index_name SCHEMA my_vector_field_key VECTOR HNSW 10 TYPE FLOAT32 DIM 20 DISTANCE_METRIC COSINE M 4 EF_CONSTRUCTION 100 my_numeric_field_key NUMERIC\n```\n\nHNSW example with a tag field: \n\n```\nFT.CREATE my_index_name SCHEMA my_vector_field_key VECTOR HNSW 10 TYPE FLOAT32 DIM 20 DISTANCE_METRIC COSINE M 4 EF_CONSTRUCTION 100 my_tag_field_key TAG SEPARATOR '@' CASESENSITIVE \n```\n\nHNSW example with a tag and a numeric field: \n\n```\nFT.CREATE my_index_name SCHEMA my_vector_field_key VECTOR HNSW 10 TYPE FLOAT32 DIM 20 DISTANCE_METRIC COSINE M 4 EF_CONSTRUCTION 100 my_tag_field_key TAG SEPARATOR '@' CASESENSITIVE my_numeric_field_key NUMERIC\n```\n\nHNSW example with multiple tag and numeric fields: \n\n```\nFT.CREATE my_index_name SCHEMA my_vector_field_key VECTOR HNSW 10 TYPE FLOAT32 DIM 20 DISTANCE_METRIC COSINE M 4 EF_CONSTRUCTION 100 my_tag_field_key_1 TAG SEPARATOR '@' CASESENSITIVE my_numeric_field_key_1 NUMERIC my_numeric_field_key_2 NUMERIC my_tag_field_key_2 TAG\n```"]]