2016-10-04 189 views
0

运行以下命令curl -XPUT localhost:9200/alpha/_mapping/gremlin -d @company_info_mapping.json返回400,并显示消息Root mapping definition has unsupported parametersElasticsearch在索引期间不支持的参数

这里是映射文件:

{ 
    "settings": { 
    "index.mapping.ignore_malformed": true, 
    "analysis" : { 
     "index_analyzer": { 
      "my_index_analyzer" : { 
       "type": "custom", 
       "tokenizer" : "standard", 
       "filter" : ["lowercase", "mynGram"] 
      } 
     }, 
     "search_analyzer": { 
      "my_search_analyzer": { 
       "type": "custom", 
       "tokenizer": "standard", 
       "filter" : ["standard", "lowercase", "mynGram"] 
      } 
     }, 
     "filter": { 
      "mynGram": { 
       "type": "nGram", 
       "min_gram": 2, 
       "max_gram": 30 
      } 
     } 
    } 
    }, 

    "mappings": { 
    "company_info": { 
     "properties": { 
      "company" : {"type" : "string"}, 
      "description": {"type": "string"}, 
      "founded": {"type": "string"}, 
      "headquartes": {"type": "string"}, 
      "industry": {"type": "string"}, 
      "numberOfEmployees": {"type": "string"}, 
      "size": {"type": "string"}, 
      "specialties": {"type": "string"}, 
      "typ": {"type" : "string"}, 
      "website": {"type" : "string"}, 
      "domain" : {"type": "string"}, 
      "link": {"type" : "string"}, 
      "linkedinId": {"type": "string"}, 
      "linkedinUrl": {"type": "string"}, 
      "title": {"type": "string"}, 
      "people":{"properties":{"email":{"type":"string"},"id":{"type":"string"},"linkedinId":{"type":"string"},"linkedinUrl":{"type":"string"},"name":{"type":"string"},"title":{"type":"string"},"twitter":{"type":"string"},"verifiedEmail":{"type":"string"}}} 
     } 
    } 
    } 
} 
+0

这是错误的所有描述?您是否在弹性搜索服务器端日志查看异常? –

+0

什么是gremlin?你是如何创建索引的? – ChintanShah25

+0

@ ChintanShah25 Gremlin是一个术语,我试图设置我的群集并玩弄东西。上面的脚本是我用来创建没有'settings'部分的索引。 – TheM00s3

回答

1

你的JSON以上同时包含settingsmappings和你打的_mapping端点。如果您alpha指数已经存在并且要更新其映射,那么你可以用下面的内容运行以下命令:

curl -XPUT localhost:9200/alpha/_mapping/gremlin --data-binary @company_info_mapping.json 

company_info_mapping.json

{ 
    "properties": { 
     "company" : {"type" : "string"}, 
     "description": {"type": "string"}, 
     "founded": {"type": "string"}, 
     "headquartes": {"type": "string"}, 
     "industry": {"type": "string"}, 
     "numberOfEmployees": {"type": "string"}, 
     "size": {"type": "string"}, 
     "specialties": {"type": "string"}, 
     "typ": {"type" : "string"}, 
     "website": {"type" : "string"}, 
     "domain" : {"type": "string"}, 
     "link": {"type" : "string"}, 
     "linkedinId": {"type": "string"}, 
     "linkedinUrl": {"type": "string"}, 
     "title": {"type": "string"}, 
     "people":{"properties":{"email":{"type":"string"},"id":{"type":"string"},"linkedinId":{"type":"string"},"linkedinUrl":{"type":"string"},"name":{"type":"string"},"title":{"type":"string"},"twitter":{"type":"string"},"verifiedEmail":{"type":"string"}}} 
    } 
} 

如果你想更新的设定现有索引,然后打_settings端点以下:

curl -XPUT localhost:9200/alpha/_settings --data-binary @index_settings.json 

index_settings.json

{ 
"index.mapping.ignore_malformed": true, 
"analysis" : { 
    "index_analyzer": { 
     "my_index_analyzer" : { 
      "type": "custom", 
      "tokenizer" : "standard", 
      "filter" : ["lowercase", "mynGram"] 
     } 
    }, 
    "search_analyzer": { 
     "my_search_analyzer": { 
      "type": "custom", 
      "tokenizer": "standard", 
      "filter" : ["standard", "lowercase", "mynGram"] 
     } 
    }, 
    "filter": { 
     "mynGram": { 
      "type": "nGram", 
      "min_gram": 2, 
      "max_gram": 30 
     } 
    } 
    } 
}