Очень плохо знаком с эластичным поиском
Попытка инициализировать индекс с json с использованием API-интерфейсаasticsearch-py; используя этот простой файл json, чтобы понять, как он работает
{
"index": "index_name",
"body": {
"aliases": {
"actions": [
{ "add": { "index": "index_name", "alias": "alias1" } }
]
},
"mappings": {
"properties": {
"age": { "type": "integer" },
"email": { "type": "keyword" },
"name": { "type": "text" }
}
},
"settings": {
"number_of_shards": 2,
"number_of_replicas": 1,
"index.refresh_interval": "120s"
}
}
}
(прочитать файл json, разобрать index
и body
), а затем важную python часть es.indices.create(index=index, body=body)
Но я получаю сообщение об ошибке:
elasticsearch.exceptions.TransportError: TransportError(500, 'null_pointer_exception', 'fieldName cannot be null')
Я взял пример сопоставления и псевдонима из документации ES. python работает с другим файлом json, в котором нет псевдонимов. Когда я удаляю псевдонимы из этого файла, я получаю еще одну ошибку о неподдерживаемых параметрах сопоставления, поэтому я не уверен, где проблема, но хочу сначала решить проблему с псевдонимом