Dense vector field type

A dense_vector field stores dense vectors of float values. The maximum number of dimensions that can be in a vector should not exceed 2048. A dense_vector field is a single-valued field.

These vectors can be used for document scoring. For example, a document score can represent a distance between a given query vector and the indexed document vector.

You index a dense vector as an array of floats.

  1. PUT my-index-000001
  2. {
  3. "mappings": {
  4. "properties": {
  5. "my_vector": {
  6. "type": "dense_vector",
  7. "dims": 3
  8. },
  9. "my_text" : {
  10. "type" : "keyword"
  11. }
  12. }
  13. }
  14. }
  15. PUT my-index-000001/_doc/1
  16. {
  17. "my_text" : "text1",
  18. "my_vector" : [0.5, 10, 6]
  19. }
  20. PUT my-index-000001/_doc/2
  21. {
  22. "my_text" : "text2",
  23. "my_vector" : [-0.5, 10, 10]
  24. }

dims—the number of dimensions in the vector, required parameter.

Internally, each document’s dense vector is encoded as a binary doc value. Its size in bytes is equal to 4 * dims + 4, where dims—the number of the vector’s dimensions.