Невозможно создать параметры сопоставления для индекса с сообщением об ошибке. - PullRequest
1 голос
/ 04 апреля 2019

Я пытался сделать сопоставление для индекса, и у меня появляются эти сообщения об ошибках.

Кстати, я использую последнюю версию Elasticsearch - Kibana 6.7

Я попытался прочитать документацию и попытался изменить запрос, но он все еще не работает.

PUT employee-details
{
  "settings": {
    "analysis": {
      "analyzer": {
        "my_analyzer": {
          "type": "custom",
          "filter": [
            "lowercase"
          ],
          "tokenizer": "whitespace"
        }
      }
    }
  },
  "mappings": {
    "doc": {
      "dynamic": "strict",
      "properties": {
        "EmpUserID": {
          "type": "integer"
        },
        "EmpName": {
          "type": "text",
          "fields": {
            "keyword": {
              "type": "keyword"
            }
          }
        },
        "Age": {
          "type": "integer"
        },
        "Gender": {
          "type": "text",
          "fields": {
            "keyword": {
              "type": "keyword"
            }
          }
        },
        "Address": {
          "type": "nested",
          "properties": {
            "AddressID": {
              "type": "integer"
            }
          },
            "AddressNumber": {
              "type": "integer"
            },
            "Location": {
              "type": "object",
              "properties": {
                "LocationID": {
                  "type": "integer"
              },
                "LocationName": {
                  "type": "text",
                  "fields": {
                    "keyword": {
                      "type": "keyword"
                    }
                  }
                },
                "LocationCode": {
                 "type": "text",
                 "fields": {
                   "keyword": {
                     "type": "keyword"
                  }
                }
              },
                "AddressLine1": {
                  "type": "text",
                  "analyzer": "my_analyzer",
                  "fields": {
                    "keyword": {
                      "type": "keyword"
                    }
                  }
                },
                "AddressLine2": {
                  "type": "text",
                  "analyzer": "my_analyzer",
                  "fields": {
                    "keyword": {
                      "type": "keyword"
                    }
                  }
                },
                "CityName": {
                  "type": "text",
                  "fields": {
                    "keyword": {
                      "type": "keyword"
                    }
                  }
                },
                "StateCode": {
                  "type": "text",
                  "fields": {
                    "keyword": {
                      "type": "keyword"
                    }
                  }
                },
                "StateName": {
                  "type": "text",
                  "analyzer": "my_analyzer",
                  "keyword": {
                    "type": "keyword"
                  }
                },
                "CountryName": {
                  "type": "text",
                  "analyzer": "my_analyzer",
                  "fields": {
                    "keyword": {
                      "type": "keyword"
                    }
                  }
                }
            }
          }
        }
      },
        "LastUpdateTimeStamp": {
          "type": "date",
          "format": "MM/dd/yyyy hh:mm a z",
          "fields": {
            "text": {
              "type": "text",
              "analyzer": "my_analyzer"
            }
          }
        }
    }
  }
}

Я получаю это сообщение об ошибке, Я не знаю, что случилось с этим ..

{
  "error": {
    "root_cause": [
      {
        "type": "mapper_parsing_exception",
        "reason": "Mapping definition for [Address] has unsupported parameters:  [AddressNumber : {type=integer}] [Location : {type=object, properties={AddressLine2={analyzer=my_analyzer, type=text, fields={keyword={type=keyword}}}, AddressLine1={analyzer=my_analyzer, type=text, fields={keyword={type=keyword}}}, CountryName={analyzer=my_analyzer, type=text, fields={keyword={type=keyword}}}, StateName={analyzer=my_analyzer, type=text, keyword={type=keyword}}, LocationID={type=integer}, LocationCode={type=text, fields={keyword={type=keyword}}}, StateCode={type=text, fields={keyword={type=keyword}}}, CityName={type=text, fields={keyword={type=keyword}}}, LocationName={type=text, fields={keyword={type=keyword}}}}}]"
      }
    ],
    "type": "mapper_parsing_exception",
    "reason": "Failed to parse mapping [doc]: Mapping definition for [Address] has unsupported parameters:  [AddressNumber : {type=integer}] [Location : {type=object, properties={AddressLine2={analyzer=my_analyzer, type=text, fields={keyword={type=keyword}}}, AddressLine1={analyzer=my_analyzer, type=text, fields={keyword={type=keyword}}}, CountryName={analyzer=my_analyzer, type=text, fields={keyword={type=keyword}}}, StateName={analyzer=my_analyzer, type=text, keyword={type=keyword}}, LocationID={type=integer}, LocationCode={type=text, fields={keyword={type=keyword}}}, StateCode={type=text, fields={keyword={type=keyword}}}, CityName={type=text, fields={keyword={type=keyword}}}, LocationName={type=text, fields={keyword={type=keyword}}}}}]",
    "caused_by": {
      "type": "mapper_parsing_exception",
      "reason": "Mapping definition for [Address] has unsupported parameters:  [AddressNumber : {type=integer}] [Location : {type=object, properties={AddressLine2={analyzer=my_analyzer, type=text, fields={keyword={type=keyword}}}, AddressLine1={analyzer=my_analyzer, type=text, fields={keyword={type=keyword}}}, CountryName={analyzer=my_analyzer, type=text, fields={keyword={type=keyword}}}, StateName={analyzer=my_analyzer, type=text, keyword={type=keyword}}, LocationID={type=integer}, LocationCode={type=text, fields={keyword={type=keyword}}}, StateCode={type=text, fields={keyword={type=keyword}}}, CityName={type=text, fields={keyword={type=keyword}}}, LocationName={type=text, fields={keyword={type=keyword}}}}}]"
    }
  },
  "status": 400
}

1 Ответ

1 голос
/ 04 апреля 2019

У вас json есть несколько синтаксических ошибок. Вот исправленный:

{
  "settings": {
    "analysis": {
      "analyzer": {
        "my_analyzer": {
          "type": "custom",
          "filter": [
            "lowercase"
          ],
          "tokenizer": "whitespace"
        }
      }
    }
  },
  "mappings": {
    "doc": {
      "dynamic": "strict",
      "properties": {
        "EmpUserID": {
          "type": "integer"
        },
        "EmpName": {
          "type": "text",
          "fields": {
            "keyword": {
              "type": "keyword"
            }
          }
        },
        "Age": {
          "type": "integer"
        },
        "Gender": {
          "type": "text",
          "fields": {
            "keyword": {
              "type": "keyword"
            }
          }
        },
        "Address": {
          "type": "nested",
          "properties": {
            "AddressID": {
              "type": "integer"
            },
            "AddressNumber": {         <---------- fields here on wards were outside nested properties block
              "type": "integer"
            },
            "Location": {
              "type": "object",
              "properties": {
                "LocationID": {
                  "type": "integer"
                },
                "LocationName": {
                  "type": "text",
                  "fields": {
                    "keyword": {
                      "type": "keyword"
                    }
                  }
                },
                "LocationCode": {
                  "type": "text",
                  "fields": {
                    "keyword": {
                      "type": "keyword"
                    }
                  }
                },
                "AddressLine1": {
                  "type": "text",
                  "analyzer": "my_analyzer",
                  "fields": {
                    "keyword": {
                      "type": "keyword"
                    }
                  }
                },
                "AddressLine2": {
                  "type": "text",
                  "analyzer": "my_analyzer",
                  "fields": {
                    "keyword": {
                      "type": "keyword"
                    }
                  }
                },
                "CityName": {
                  "type": "text",
                  "fields": {
                    "keyword": {
                      "type": "keyword"
                    }
                  }
                },
                "StateCode": {
                  "type": "text",
                  "fields": {
                    "keyword": {
                      "type": "keyword"
                    }
                  }
                },
                "StateName": {
                  "type": "text",
                  "analyzer": "my_analyzer",
                  "fields": {                  <---------- fields was missing here
                    "keyword": {
                      "type": "keyword"
                    }
                  }
                },
                "CountryName": {
                  "type": "text",
                  "analyzer": "my_analyzer",
                  "fields": {
                    "keyword": {
                      "type": "keyword"
                    }
                  }
                }
              }
            }
          }
        },
        "LastUpdateTimeStamp": {            <--------- was outside properties block
          "type": "date",
          "format": "MM/dd/yyyy hh:mm a z",
          "fields": {
            "text": {
              "type": "text",
              "analyzer": "my_analyzer"
            }
          }
        }
      }
    }
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...