gpt4 book ai didi

node.js - 使用Node JS在Elasticsearch 7.3.2中创建自定义映射类型

转载 作者:行者123 更新时间:2023-12-03 01:26:33 26 4
gpt4 key购买 nike

当我使用kibana进行自定义映射时,它可以正常工作,但是当我在节点程序中执行相同的操作时,它显示映射器解析异常。
原因:根映射定义具有不受支持的参数:标签(自定义映射名称)
因为在kibana中我可以使用include_type_name = true,但是在我的节点程序中它不可用。

        var name = req.body.templatename;
var index_patterns = req.body.index_patterns;
console.log(index_patterns);
const opts: IndicesPutTemplateParams = {
name: name,
body: {
index_patterns: [index_patterns],
settings: {
analysis: {
filter: {
autocomplete_filter: {
type: "edge_ngram",
min_gram: 1,
max_gram: 20
}
},
analyzer: {
autocomplete: {
type: "custom",
tokenizer: "standard",
filter: [
"lowercase",
"autocomplete_filter"
]
}
}
}
},
mappings: {
tags: {
properties: {
name: {
type: "text",
analyzer: "autocomplete",
search_analyzer: "standard"
},
normalized: {
type: "text"
},
status: {
type: "text"
},
createdat: {
type: "date"
},
updatedat: {
type: "date"
}
}
}
}

}
}
try {
esClient.indices.putTemplate(opts).then((data: any) => {
return res.json({
data
});
console.log(data);
}).catch((err: any) => {
console.log(err);
res.status(500).json({
err
})
});
} catch (error) {
res.status(500).json({
error
})
}
}```

最佳答案

作为Per documentation,您需要提供include_type_name作为

client.indices.putTemplate({
name: string,
include_type_name: boolean, --->
order: number,
create: boolean,
timeout: string,
master_timeout: string,
flat_settings: boolean,
body: object -> mapping object
})

或者您可以从映射中删除映射名称标签
  mappings: {
tags: { ---> remove

关于node.js - 使用Node JS在Elasticsearch 7.3.2中创建自定义映射类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58022648/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com