如何修复“搜索到的文档映射类型名称不能以'_'开头:[_ create] _“ elasticsearch?

时间:2019-07-10 05:59:19

标签: node.js elasticsearch kubernetes

我正在使用Node.js将一些数据索引到Elasticsearch中(托管在kubernetes上),我正在使用client.create()方法来索引Elasticsearch中的文档。如果我在localhost和kubernetes Elasticsearch端点上运行代码,则一切正常。但是当我尝试为文档建立索引时部署了相同的代码后,出现错误“ [invalid_type_name_exception]文档映射类型名称无法以'_'开头,发现:[_create] :: {“ path”:“ / index_name / _create / docId“]”。 Elasticsearch版本“ 6.3.0”和node_module版本“ ^ 16.0.0”。 此外,它最初仍在工作,但从最近几天开始停止工作。 我认为问题在于某些兼容性和配置,有人可以帮忙吗?

我尝试使用client.index而不是client.create,它工作正常。 我已经匹配了本地和服务器上的所有配置和兼容性文件。在我看来一切都很好。

const elasticsearchDoc = { index: "school", type: "_doc", id: 12345, body: { name:"raj",marks:40 } }; const result = await client.create(elasticsearchDoc); ...

1 个答案:

答案 0 :(得分:0)

我认为问题在于您使用的是old JS client库而不是the new one

对于16.0.0,您需要to explicitely set the apiVersion parameter到6.x版本,因为默认值为7.0,这可能就是为什么您看到此错误的原因(因为您使用的是ES 6.3.0):

apiVersion: 6.7