嗨,我正在尝试使用kibana控制台通过弹性搜索在索引“电子商务”下创建文档类型“产品”。
PUT /ecommerce
{
"mappings": {
"product": {
"properties": {
"name": {
"type": "string"
},
"price": {
"type": "double"
},
"description": {
"type": "string"
},
"status": {
"type": "string"
},
"quantity": {
"type": "integer"
},
"categories": {
"type": "nested",
"properties": {
"name": {
"type": "string"
}
}
},
"tags": {
"type": "string"
}
}
}
}
}
运行此请求时,出现以下错误
{
"error": {
"root_cause": [
{
"type": "mapper_parsing_exception",
"reason": "Root mapping definition has unsupported parameters: [product : {properties={quantity={type=integer}, price={type=double}, name={type=string}, description={type=string}, categories={type=nested, properties={name={type=string}}}, status={type=string}, tags={type=string}}}]"
}
],
"type": "mapper_parsing_exception",
"reason": "Failed to parse mapping [_doc]: Root mapping definition has unsupported parameters: [product : {properties={quantity={type=integer}, price={type=double}, name={type=string}, description={type=string}, categories={type=nested, properties={name={type=string}}}, status={type=string}, tags={type=string}}}]",
"caused_by": {
"type": "mapper_parsing_exception",
"reason": "Root mapping definition has unsupported parameters: [product : {properties={quantity={type=integer}, price={type=double}, name={type=string}, description={type=string}, categories={type=nested, properties={name={type=string}}}, status={type=string}, tags={type=string}}}]"
}
},
"status": 400
}
任何想法,我的看跌期权有什么问题。 非常感谢
答案 0 :(得分:0)
您不能在ES 7.0版之后的版本中创建类型,并且该类型已被弃用。您从此link
获得以下可用信息不建议在请求中指定类型。例如,索引一个 文档不再需要文档类型。新的索引API是 如果有明确的ID和POST {index} / _ doc,请放置{index} / _ doc / {id} 用于自动生成的ID。请注意,在7.0版中,_doc是 路径,并表示端点名称而不是文档 类型。
我建议您遵循here
中提到的任何方法基本上可以为每种文档类型创建 新索引 ,也可以仅添加 新自定义类型 字段。
下面是您的映射方式:
results="hide", include= "FALSE"
基本上,如果您尝试提取任何新文档,则必须使用以下端点:
POST <your_new_index_name>
{
"mappings":{
"properties":{
"name":{
"type":"string"
},
"price":{
"type":"double"
},
"description":{
"type":"string"
},
"status":{
"type":"string"
},
"quantity":{
"type":"integer"
},
"categories":{
"type":"nested",
"properties":{
"name":{
"type":"string"
}
}
},
"tags":{
"type":"string"
}
}
}
}
希望这会有所帮助!
答案 1 :(得分:0)
我将查询重写如下,并且可以正常工作。
PUT /ecommerce
{
"mappings": {
"properties": {
"name": {
"type": "text"
},
"price": {
"type": "double"
},
"description": {
"type": "text"
},
"status": {
"type": "text"
},
"quantity": {
"type": "integer"
},
"categories": {
"type": "nested",
"properties": {
"name": {
"type": "text"
}
}
},
"tags": {
"type": "text"
}
}
}
}