Create vector index
Vector indexes allow Neo4j to run similarity queries across the whole database.
The example below shows how to create a vector index for movie embeddings, under the name of moviePlots.
CREATE VECTOR INDEX moviePlots
FOR (m:Movie)
ON m.embedding
OPTIONS {indexConfig: {
`vector.dimensions`: 384, (1)
`vector.similarity_function`: 'cosine' (2)
}}
1
For embeddings generated with the SentenceTransformers model
all-MiniLM-L6-v2.
A different model may require a different dimension.
2
The cosine similarity function is the most common choice. For more details and other options, see Vector indexes → Cosine and Euclidean similarity functions.
CREATE VECTOR INDEX moviePlots
FOR (m:Movie)
ON m.embedding
OPTIONS {indexConfig: {
`vector.dimensions`: 1536, (1)
`vector.similarity_function`: 'cosine' (2)
}}
1
For embeddings generated with the OpenAI model
text-embedding-ada-002.
A different model may require a different dimension.
2
The cosine similarity function is the most common choice. For more details and other options, see Vector indexes → Cosine and Euclidean similarity functions.
For more information on vector indexes, see Cypher® → Indexes → Vector indexes.