创建向量索引 导入向量数据 执行如下命令,导入向量数据。向“myindex”索引中写入向量数据时,需要指定向量字段名称和向量数据。 向量数据输入格式为逗号分隔的浮点型数组时: POST myindex/doc { "myvector": [1.0, 2.0] } 向量数据输入格式为小端字节序编码的Base64字符串时: 在向量维度较高、数值有效位较多时,使用Base64编码格式传输、解析更加高效。 POST myindex/doc { "myvector": "AACAPwAAAEA" } 当写入大规模数据时,建议使用Bulk操作: POST myindex/bulk {"index": {}} {"myvector": [1.0, 2.0], "mylabel": "red"} {"index": {}} {"myvector": [2.0, 2.0], "mylabel": "green"} {"index": {}} {"myvector": [2.0, 3.0], "mylabel": "red"} 集群高级配置 在离线导入数据场景下,为了提高批量写入性能,建议将索引的refreshinterval参数设置为1,即关闭自动刷新索引。 建议将备份数numberofreplicas设置为0,当离线数据导入完成后,再设置为需要的值。 其他高级功能的参数配置说明: 参数 说明 native.cache.circuitbreaker.enabled 是否开启堆外内存熔断。 默认值:true native.cache.circuitbreaker.cpu.limit 向量索引堆外内存使用上限。 假设使用128GB内存的机器且堆内存大小为31GB,默认堆外内存使用上限为(128 31) 45% 43.65GB,堆外内存使用量超过该值将会触发写入熔断。 默认值:45% native.cache.expire.enabled 是否开启缓存超时设置。开启时,如果某些缓存项长时间没有被访问过将会被清除。 取值范围:true、false 默认值:false native.cache.expire.time 超时时长。 默认值:24h native.vector.indexthreads 创建底层索引时所使用的线程数,每个shard均会使用多个构建线程。该值建议不要设置过大,避免产生过多的构建线程抢占查询资源。 默认值:4