sam*_*mmy 0 mapping elasticsearch
我正在使用 5.1 版本学习 ElasticSearch。我有一个索引“mycontent”和一个类型“simpledocument”。我在尝试检查 simpledocument 类型的建议/完成功能时遇到错误“illegal_argument_exception no mapping found for field”。详情如下:
GET _search
{
"suggest":{
"my-suggestion":{
"prefix":"ap",
"completion":{
"field":"suggest"
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
这给了我回应:
{
"took": 4,
"timed_out": false,
"_shards": {
"total": 6,
"successful": 5,
"failed": 1,
"failures": [
{
"shard": 0,
"index": ".kibana",
"reason": {
"type": "illegal_argument_exception",
"reason": "no mapping found for field [suggest]"
}
}
]
},
......
Run Code Online (Sandbox Code Playgroud)
映射中确实有建议字段:
GET _mapping/simpledocument
{
"mycontent": {
"mappings": {
"simpledocument": {
"properties": {
"description": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"id": {
"type": "integer"
},
"name": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"path": {
"type": "keyword"
},
"suggest": {
"type": "completion",
"analyzer": "simple",
"preserve_separators": true,
"preserve_position_increments": true,
"max_input_length": 50
},
"tags": {
"type": "keyword"
}
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
这是一个示例文档:
GET mycontent/simpledocument/7
{
"_index": "mycontent",
"_type": "simpledocument",
"_id": "7",
"_version": 1,
"found": true,
"_source": {
"name": "Suggested Document",
"description": "this document does not contain a lot of content. Mainly used to test the suggest feature.",
"tags": [
"suggest",
"document"
],
"suggest": [
"and",
"design",
"api"
]
}
}
Run Code Online (Sandbox Code Playgroud)
有人可以帮我找出我的错误吗?为什么在映射存在时显示“未找到映射”?
GET _search将搜索所有索引,作为错误,它表示索引.kibana没有该suggest字段,因为您 GET _mapping/simpledocument的建议字段应该只存在于simpedocument 索引类型中。
所以也许你需要这样做:
GET mycontent/simpledocument/_search
{
"suggest":{
"my-suggestion":{
"prefix":"ap",
"completion":{
"field":"suggest"
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5678 次 |
| 最近记录: |