我曾尝试在索引中插入以下映射以支持搜索功能。
{
"settings": {
"analysis": {
"normalizer": {
"keyword_lowercase": {
"type": "custom",
"filter": [
"lowercase"
]
}
}
}
},
"mapping": {
"org-4-table": {
"properties": {
"GroupName": {
"type": "text",
"normalizer": "keyword_lowercase",
"fielddata": true,
"fields": {
"keyword": {
"type": "keyword"
}
}
},
"Createdby": {
"type": "text",
"normalizer": "keyword_lowercase",
"fielddata": true,
"fields": {
"keyword": {
"type": "keyword"
}
}
}
.
.
.
.
"status": {
"type": "text",
"normalizer": "keyword_lowercase",
"fielddata": true,
"fields": {
"keyword": {
"type": "keyword"
}
}
}
}
}
}
}
但我收到以下异常
Elasticsearch exception [type=mapper_parsing_exception, reason=Failed to parse mapping [org-4-table]: Root mapping definition has unsupported parameters: [settings : {analysis={normalizer={keyword_lowercase....]
这是我用于插入映射的代码:
CreateIndexRequest createIndexRequest = new CreateIndexRequest(indexName);
createIndexRequest.mapping(typeName, mapping.toString(),XContentType.JSON);
如果我尝试插入没有"设置"字段我能够插入映射。
Elasticsearch 6.1.2
任何帮助表示感谢。
更新1:
{
"settings": {
"analysis": {
"normalizer": {
"keyword_lowercase": {
"type": "custom",
"filter": ["lowercase"]
}
}
}
},
"mapping": {
"org-4-table": {
"properties": {
"GroupName": {
"type": "text",
"fielddata": true,
"fields": {
"keyword": {
"type": "keyword",
"normalizer": "keyword_lowercase"
}
}
},
"Createdby": {
"type": "text",
"fielddata": true,
"fields": {
"keyword": {
"type": "keyword",
"normalizer": "keyword_lowercase"
}
}
},
"GroupUser": {
"type": "text",
"fielddata": true,
"fields": {
"keyword": {
"type": "keyword",
"normalizer": "keyword_lowercase"
}
}
},
"UpdatedDateTime": {
"type": "text",
"fielddata": true,
"fields": {
"keyword": {
"type": "keyword",
"normalizer": "keyword_lowercase"
}
}
},
"GroupMessage": {
"type": "text",
"fielddata": true,
"fields": {
"keyword": {
"type": "keyword",
"normalizer": "keyword_lowercase"
}
}
},
"CreatedDateTime": {
"type": "text",
"fielddata": true,
"fields": {
"keyword": {
"type": "keyword",
"normalizer": "keyword_lowercase"
}
}
},
"GroupId": {
"type": "text",
"fielddata": true,
"fields": {
"keyword": {
"type": "keyword",
"normalizer": "keyword_lowercase"
}
}
},
"status": {
"type": "text",
"fielddata": true,
"fields": {
"keyword": {
"type": "keyword",
"normalizer": "keyword_lowercase"
}
}
}
}
}
}
}
即使我得到同样的异常
Elasticsearch exception [type=mapper_parsing_exception, reason=Failed to parse mapping [org-4-table]: Root mapping definition has unsupported parameters: [settings : {analysis={normalizer={keyword_lowercase={filter=[lowercase], type=custom}}}}] [mapping : {org-4-table={properties={GroupName={fielddata=true, type=text, fields={keyword={normalizer=keyword_lowercase, type=keyword}}}, Createdby={fielddata=true, type=text, fields={keyword={normalizer=keyword_lowercase, type=keyword}}}, GroupUser={fielddata=true, type=text, fields={keyword={normalizer=keyword_lowercase, type=keyword}}}, UpdatedDateTime={fielddata=true, type=text, fields={keyword={normalizer=keyword_lowercase, type=keyword}}}, GroupMessage={fielddata=true, type=text, fields={keyword={normalizer=keyword_lowercase, type=keyword}}}, CreatedDateTime={fielddata=true, type=text, fields={keyword={normalizer=keyword_lowercase, type=keyword}}}, GroupId={fielddata=true, type=text, fields={keyword={normalizer=keyword_lowercase, type=keyword}}}, status={fielddata=true, type=text, fields={keyword={normalizer=keyword_lowercase, type=keyword}}}}}}]]