为elasticsearch索引

时间:2015-05-06 02:27:36

标签: elasticsearch mapping sense

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

{
   "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,我得到了'aknowleged'响应,但是当我在理论上请求时,映射仍然是{}
  • this问题无法解决我的问题。我到处都使用相同的名字。 有什么建议吗?

谢谢!

1 个答案:

答案 0 :(得分: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