Este artigo é um artigo espelhado de tradução automática, por favor clique aqui para ir para o artigo original.

Vista: 9077|Resposta: 0

Elasticsearch:No handler for type [string] declared on field[XX]的解决办法

[Copiar link]
Publicado em 09/01/2019 10:29:11 | | | |
Razão do erro

{
"error": {
"root_cause": [
{
"tipo": "mapper_parsing_exception",
"razão": "Nenhum manipulador para o tipo [string] declarado no campo [upload_status]"
}
],
"tipo": "mapper_parsing_exception",
"razão": "Nenhum manipulador para o tipo [string] declarado no campo [upload_status]"
},
"status": 400
}


Estou usando o Elasticsearch versão 6.2.2 e, ao criar campos de acordo com a documentação da escola, uso {"type":"string","index":"not_analyzed"}.

Análise da causa

Depois de verificar a grafia, decidi verificar a nova versão dos recursos do Elasticsearch, porque também já tinha entrado no problema do método de instalação do plugin principal antes, por causa do problema da versão.
De fato, o Elasticsearch introduziu texto e palavra-chave a partir da 5.X, onde a palavra-chave é aplicada a campos que não são segmentados, e só pode corresponder exatamente durante a busca, momento em que a string ainda é mantida.

chegaram6.X remove completamente a stringAcabar.

Fora issoO valor de "índice" só pode ser uma variável booleana

Solução alternativa

{"tipo":"texto","índice":falso}

Então, a modificação json é a seguinte:

Mas há novos erros que são os seguintes:

{
"error": {
"root_cause": [
{
"tipo": "illegal_argument_exception",
"razão": "Rejeitando atualização de mapeamento para [restraunt] pois o mapeamento final teria mais de 1 tipo: [record, info]"
}
],
"tipo": "illegal_argument_exception",
"razão": "Rejeitando atualização de mapeamento para [restraunt] pois o mapeamento final teria mais de 1 tipo: [record, info]"
},
"status": 400
}
Isso se deve a:Uma grande mudança no Elasticsearch 6.x, onde o Mapeamento permite apenas um tipo。 Índices criados no 5.x com múltiplos tipos de mapeamento continuarão a ser executados no Elasticsearch 6.x como antes. Os tipos de mapeamento serão completamente removidos no Elasticsearch 7.0.0.

Após o lançamento do Elasticsearch 7.x, o parâmetro em typeURL é opcional. Por exemplo, indexar documentos não requer mais um tipo de documento

Recursos:

https://github.com/sirensolutions/sentinl/issues/257
https://www.elastic.co/guide/en/ ... moval-of-types.html







Anterior:Criptografia MD5
Próximo:Como o código C# faz seu computador desligar, reiniciar, sair da log, travar, desligar...
Disclaimer:
Todo software, material de programação ou artigos publicados pela Code Farmer Network são apenas para fins de aprendizado e pesquisa; O conteúdo acima não deve ser usado para fins comerciais ou ilegais, caso contrário, os usuários terão todas as consequências. As informações deste site vêm da Internet, e disputas de direitos autorais não têm nada a ver com este site. Você deve deletar completamente o conteúdo acima do seu computador em até 24 horas após o download. Se você gosta do programa, por favor, apoie um software genuíno, compre o registro e obtenha serviços genuínos melhores. Se houver qualquer infração, por favor, entre em contato conosco por e-mail.

Mail To:help@itsvse.com