在elasticsearch7.x上执行:
- put es_test
- {
- "settings":{
- "number_of_shards" : 3,
- "number_of_replicas" : 0
- },
- "mappings":{
- "books":{
- "properties":{
- "title":{"type":"text"},
- "name":{"type":"text","index":false},
- "publish_date":{"type":"date","index":false},
- "price":{"type":"double"},
- "number":{
- "type":"object",
- "dynamic":true
- }
- }
- }
- }
- }
执行结果则会出错:Root mapping definition has unsupported parameters
- {
- "error": {
- "root_cause": [
- {
- "type": "mapper_parsing_exception",
- "reason": "Root mapping definition has unsupported parameters: [books : {properties={number={dynamic=true, type=object}, price={type=double}, name={index=false, type=text}, title={type=text}, publish_date={index=false, type=date}}}]"
- }
- ],
- "type": "mapper_parsing_exception",
- "reason": "Failed to parse mapping [_doc]: Root mapping definition has unsupported parameters: [books : {properties={number={dynamic=true, type=object}, price={type=double}, name={index=false, type=text}, title={type=text}, publish_date={index=false, type=date}}}]",
- "caused_by": {
- "type": "mapper_parsing_exception",
- "reason": "Root mapping definition has unsupported parameters: [books : {properties={number={dynamic=true, type=object}, price={type=double}, name={index=false, type=text}, title={type=text}, publish_date={index=false, type=date}}}]"
- }
- },
- "status": 400
- }
如果在6.x上执行,则会正常执行
- {
- "acknowledged" : true
- }
出现这个的原因是,elasticsearch7默认不在支持指定索引类型,默认索引类型是_doc,如果想改变,则配置include_type_name: true 即可(这个没有测试,官方文档说的,无论是否可行,建议不要这么做,因为elasticsearch8后就不在提供该字段)。官方文档:https://www.elastic.co/guide/en/elasticsearch/reference/current/removal-of-types.html
所以在Elasticsearch7中应该这么创建索引
- put /test
- {
- "settings":{
- "number_of_shards":3,
- "number_of_replicas":2
- },
- "mappings":{
- "properties":{
- "id":{"type":"long"},
- "name":{"type":"text","analyzer":"ik_smart"},
- "text":{"type":"text","analyzer":"ik_max_word"}
- }
- }
-
- }
-
-
- put /test1
- {
- "settings":{
- "number_of_shards":3,
- "number_of_replicas":2
- },
- "mappings":{
- "properties":{
- "id":{"type":"long"},
- "name":{"type":"text"},
- "text":{"type":"text"}
- }
- }
-
- }
对人工智能感兴趣的同学,可以点击以下链接:
现在人工智能非常火爆,很多朋友都想学,但是一般的教程都是为博硕生准备的,太难看懂了。最近发现了一个非常适合小白入门的教程,不仅通俗易懂而且还很风趣幽默。所以忍不住分享一下给大家。点这里可以跳转到教程。
ElasticSearch 7.x 默认不在支持指定索引类型
原文:https://www.cnblogs.com/lonelyxmas/p/11612940.html