2016-10-04 84 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 
     } 
    } 
    } 
}