1

使用感觉,我正在尝试为具有三个属性的索引创建映射。当我尝试创建它时,我得到以下响应

{
   "error": "MapperParsingException[Root type mapping not empty after parsing! Remaining fields:   [mappings : {gram={properties={gram={type=string, fields={gram_bm25={type=string, similarity=BM25}, gram_lmd={type=string}}}, sentiment={type=string, index=not_analyzed}, word={type=string, index=not_analyzed}}}}]]",
   "status": 400
}

这就是我在感觉控制台中所拥有的

PUT /pos/_mapping/gram
{
  "mappings": {
    "gram": {
      "properties": {
        "gram": {
          "type": "string",
          "fields": {
            "gram_bm25": {
              "type": "string", "similarity": "BM25"
            },
            "gram_lmd": {
              "type": "string"
            }
          }
        },
        "sentiment": {
          "type": "string", "index": "not_analyzed"
        },
        "word": {
          "type": "string", "index": "not_analyzed"
        }
      }
    }
  }
}
  • 索引的名称是“pos”,我称类型为“gram”。
  • 我创建了同名的索引。
  • 我已经使用http://jsonlint.com/验证了 json
  • 我尝试在控制台中使用 XPUT,我得到了“已知”的响应,但是{}当我请求它时映射仍然存在。
  • 这个问题不能解决我的问题。我总是在任何地方使用相同的名字。有什么建议么?

谢谢!

4

1 回答 1

1

您只是 API 语法错误。基本上,您已经结合了两种不同的方法。

创建索引,然后应用映射:

DELETE /pos

PUT /pos

PUT /pos/gram/_mapping
{
   "gram": {
      "properties": {
         "gram": {
            "type": "string",
            "fields": {
               "gram_bm25": {
                  "type": "string",
                  "similarity": "BM25"
               },
               "gram_lmd": {
                  "type": "string"
               }
            }
         },
         "sentiment": {
            "type": "string",
            "index": "not_analyzed"
         },
         "word": {
            "type": "string",
            "index": "not_analyzed"
         }
      }
   }
}

或者在创建索引时一次完成所有操作:

DELETE /pos

PUT /pos
{
   "mappings": {
      "gram": {
         "properties": {
            "gram": {
               "type": "string",
               "fields": {
                  "gram_bm25": {
                     "type": "string",
                     "similarity": "BM25"
                  },
                  "gram_lmd": {
                     "type": "string"
                  }
               }
            },
            "sentiment": {
               "type": "string",
               "index": "not_analyzed"
            },
            "word": {
               "type": "string",
               "index": "not_analyzed"
            }
         }
      }
   }
}

这是我使用的代码:

http://sense.qbox.io/gist/6d645cc069f5f0fcf14f497809f7f79aff7de161

于 2015-05-06T02:42:07.793 回答