elasticsearch 类型为[knn_vector]的Map器上的未知参数[data_type]

l7mqbcuq  于 2023-08-03  发布在  ElasticSearch
关注(0)|答案(1)|浏览(88)

基于文档,我尝试使用byte作为底层数据类型,使用嵌套的向量字段创建索引:

PUT docs_byte
{
    "settings" : {
        "index" : {
            "number_of_shards" : 1, 
            "number_of_replicas" : 1
        }
    },
    "mappings": {
        "properties": {
            "title": {
                "type": "text"
            },
            "ideas": {
                "type": "nested",
                "properties": {
                    "vector": {
                        "type": "knn_vector",
                        "dimension": 384,
                        "data_type": "byte"
                    }
                }
            }
        }
    }
}

字符串
我得到错误unknown parameter [data_type] on mapper [vector] of type [knn_vector]。我错过了什么?

9rbhqvlz

9rbhqvlz1#

bytedata_type仅受lucene引擎支持,因此您需要像这样声明字段:

PUT docs_byte
{
    "settings" : {
        "index" : {
            "number_of_shards" : 1, 
            "number_of_replicas" : 1
        }
    },
    "mappings": {
        "properties": {
            "title": {
                "type": "text"
            },
            "ideas": {
                "type": "nested",
                "properties": {
                    "vector": {
                        "type": "knn_vector",
                        "dimension": 384,
                        "data_type": "byte",
                        "method": {
                            "name": "hnsw",
                            "space_type": "l2",
                            "engine": "lucene",        <------ add this
                            "parameters": {
                                "ef_construction": 128,
                                "m": 24
                            }
                        }
                    }
                }
            }
        }
    }
}

字符串

相关问题