Создание индекса ElasticSearch Index из Python приводит к ошибкам для известного картированияPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Создание индекса ElasticSearch Index из Python приводит к ошибкам для известного картирования

Сообщение Anonymous »

У меня есть следующий код: < /p>
from elasticsearch import Elasticsearch

client = Elasticsearch(
"https://myhost",
api_key="mykey",
request_timeout=30, # Increase timeout duration
max_retries=10,
retry_on_timeout=True
)
dest_index = "course_info_eng_v3d6_destination"
client.indices.create(
index=dest_index,
mappings={
"dynamic": "true",
"dynamic_templates": [
{
"all_text_fields": {
"match_mapping_type": "string",
"mapping": {
"analyzer": "iq_text_base",
"fields": {
"delimiter": {
"analyzer": "iq_text_delimiter",
"type": "text",
"index_options": "freqs"
},
"joined": {
"search_analyzer": "q_text_bigram",
"analyzer": "i_text_bigram",
"type": "text",
"index_options": "freqs"
},
"prefix": {
"search_analyzer": "q_prefix",
"analyzer": "i_prefix",
"type": "text",
"index_options": "docs"
},
"enum": {
"ignore_above": 2048,
"type": "keyword"
},
"stem": {
"analyzer": "iq_text_stem",
"type": "text"
}
}
}
}
}
],
"properties": {
"course_id": {
"type": "text",
"fields": {
"delimiter": {
"type": "text",
"index_options": "freqs",
"analyzer": "iq_text_delimiter"
},
"enum": {
"type": "keyword",
"ignore_above": 2048
},
"joined": {
"type": "text",
"index_options": "freqs",
"analyzer": "i_text_bigram",
"search_analyzer": "q_text_bigram"
},
"prefix": {
"type": "text",
"index_options": "docs",
"analyzer": "i_prefix",
"search_analyzer": "q_prefix"
},
"stem": {
"type": "text",
"analyzer": "iq_text_stem"
}
},
"analyzer": "iq_text_base"
},
"course_name_backup": {
"type": "text",
"fields": {
"delimiter": {
"type": "text",
"index_options": "freqs",
"analyzer": "iq_text_delimiter"
},
"enum": {
"type": "keyword",
"ignore_above": 2048
},
"joined": {
"type": "text",
"index_options": "freqs",
"analyzer": "i_text_bigram",
"search_analyzer": "q_text_bigram"
},
"prefix": {
"type": "text",
"index_options": "docs",
"analyzer": "i_prefix",
"search_analyzer": "q_prefix"
},
"stem": {
"type": "text",
"analyzer": "iq_text_stem"
}
},
"analyzer": "iq_text_base"
},
"embedding": {
"type": "dense_vector",
"dims": 768,
"index": "true",
"similarity": "cosine",
"index_options": {
"type": "int8_hnsw",
"m": 16,
"ef_construction": 100
}
},
"language": {
"type": "text",
"fields": {
"delimiter": {
"type": "text",
"index_options": "freqs",
"analyzer": "iq_text_delimiter"
},
"enum": {
"type": "keyword",
"ignore_above": 2048
},
"joined": {
"type": "text",
"index_options": "freqs",
"analyzer": "i_text_bigram",
"search_analyzer": "q_text_bigram"
},
"prefix": {
"type": "text",
"index_options": "docs",
"analyzer": "i_prefix",
"search_analyzer": "q_prefix"
},
"stem": {
"type": "text",
"analyzer": "iq_text_stem"
}
},
"analyzer": "iq_text_base"
},
"provider": {
"type": "text",
"fields": {
"delimiter": {
"type": "text",
"index_options": "freqs",
"analyzer": "iq_text_delimiter"
},
"enum": {
"type": "keyword",
"ignore_above": 2048
},
"joined": {
"type": "text",
"index_options": "freqs",
"analyzer": "i_text_bigram",
"search_analyzer": "q_text_bigram"
},
"prefix": {
"type": "text",
"index_options": "docs",
"analyzer": "i_prefix",
"search_analyzer": "q_prefix"
},
"stem": {
"type": "text",
"analyzer": "iq_text_stem"
}
},
"analyzer": "iq_text_base"
},
"related_skills": {
"type": "text",
"fields": {
"delimiter": {
"type": "text",
"index_options": "freqs",
"analyzer": "iq_text_delimiter"
},
"enum": {
"type": "keyword",
"ignore_above": 2048
},
"joined": {
"type": "text",
"index_options": "freqs",
"analyzer": "i_text_bigram",
"search_analyzer": "q_text_bigram"
},
"prefix": {
"type": "text",
"index_options": "docs",
"analyzer": "i_prefix",
"search_analyzer": "q_prefix"
},
"stem": {
"type": "text",
"analyzer": "iq_text_stem"
}
},
"analyzer": "iq_text_base"
},
"timestamp": {
"type": "text",
"fields": {
"delimiter": {
"type": "text",
"index_options": "freqs",
"analyzer": "iq_text_delimiter"
},
"enum": {
"type": "keyword",
"ignore_above": 2048
},
"joined": {
"type": "text",
"index_options": "freqs",
"analyzer": "i_text_bigram",
"search_analyzer": "q_text_bigram"
},
"prefix": {
"type": "text",
"index_options": "docs",
"analyzer": "i_prefix",
"search_analyzer": "q_prefix"
},
"stem": {
"type": "text",
"analyzer": "iq_text_stem"
}
},
"analyzer": "iq_text_base"
},
"user": {
"type": "text",
"fields": {
"delimiter": {
"type": "text",
"index_options": "freqs",
"analyzer": "iq_text_delimiter"
},
"enum": {
"type": "keyword",
"ignore_above": 2048
},
"joined": {
"type": "text",
"index_options": "freqs",
"analyzer": "i_text_bigram",
"search_analyzer": "q_text_bigram"
},
"prefix": {
"type": "text",
"index_options": "docs",
"analyzer": "i_prefix",
"search_analyzer": "q_prefix"
},
"stem": {
"type": "text",
"analyzer": "iq_text_stem"
}
},
"analyzer": "iq_text_base"
}
}
}
)
< /code>
Но при его запуске приводит к следующей ошибке: < /p>
Traceback (most recent call last):
File "C:\Users\david\Desktop\courserecsVDBs\test.py", line 62, in
client.indices.create(
File "C:\Users\david\Desktop\courserecsVDBs\venv\lib\site-packages\elasticsearch\_sync\client\utils.py", line 452, in wrapped
return api(*args, **kwargs)
File "C:\Users\david\Desktop\courserecsVDBs\venv\lib\site-packages\elasticsearch\_sync\client\indices.py", line 705, in create
return self.perform_request( # type: ignore[return-value]
File "C:\Users\david\Desktop\courserecsVDBs\venv\lib\site-packages\elasticsearch\_sync\client\_base.py", line 422, in perform_request
return self._client.perform_request(
File "C:\Users\david\Desktop\courserecsVDBs\venv\lib\site-packages\elasticsearch\_sync\client\_base.py", line 271, in perform_request
response = self._perform_request(
File "C:\Users\david\Desktop\courserecsVDBs\venv\lib\site-packages\elasticsearch\_sync\client\_base.py", line 351, in _perform_request
return api(*args, **kwargs)
File "C:\Users\david\Desktop\courserecsVDBs\venv\lib\site-packages\elasticsearch\_sync\client\indices.py", line 705, in create
return self.perform_request( # type: ignore[return-value]
File "C:\Users\david\Desktop\courserecsVDBs\venv\lib\site-packages\elasticsearch\_sync\client\_base.py", line 422, in perform_request
return self._client.perform_request(
File "C:\Users\david\Desktop\courserecsVDBs\venv\lib\site-packages\elasticsearch\_sync\client\_base.py", line 271, in perform_request
response = self._perform_request(
File "C:\Users\david\Desktop\courserecsVDBs\venv\lib\site-packages\elasticsearch\_sync\client\_base.py", line 351, in _perform_request
return self.perform_request( # type: ignore[return-value]
File "C:\Users\david\Desktop\courserecsVDBs\venv\lib\site-packages\elasticsearch\_sync\client\_base.py", line 422, in perform_request
return self._client.perform_request(
File "C:\Users\david\Desktop\courserecsVDBs\venv\lib\site-packages\elasticsearch\_sync\client\_base.py", line 271, in perform_request
response = self._perform_request(
File "C:\Users\david\Desktop\courserecsVDBs\venv\lib\site-packages\elasticsearch\_sync\client\_base.py", line 351, in _perform_request
raise HTTP_EXCEPTIONS.get(meta.status, ApiError)(
elasticsearch.BadRequestError: BadRequestError(400, 'mapper_parsing_exception', 'Failed to parse mapping: dynamic template [all_text_fields] has invalid content [{"match_mapping_type":"string","mapping":{"analyzer":"iq_text_base","fields":{"delimiter":{"analyzer":"iq_text_delimiter","type":"text","index_options":"freqs"},"joined":{"search_analyzer":"q_text_bigram","analyzer":"i_text_bigram","type":"text","index_options":"freqs"},"prefix":{"search_analyzer":"q_prefix","analyzer":"i_prefix","type":"text","index_options":"docs"},"enum":{"ignore_above":elasticsearch.BadRequestError: BadRequestError(400, 'mapper_parsing_exception', 'Failed to parse mapping: dynamic template [all_text_fields] has invalid content [{"match_mapping_type":"string","mapping":{"analyzer":"iq_text_base","fields":{"delimiter":{"analyzer":"iq_text_delimiter","type":"text","index_options":"freqs"},"joined":{"search_analyzer":"q_text_bigram","analyzer":"i_text_bigram","type":"text","index_options":"freqs"},"prefix":{"search_analyzer":"q_prefix","analyzer":"i_prefix","type":"text","index_options":"docs"},"enum":{"ignore_above":string","mapping":{"analyzer":"iq_text_base","fields":{"delimiter":{"analyzer":"iq_text_delimiter","type":"text","index_options":"freqs"},"joined":{"search_analyzer":"q_text_bigram","analyzer":"i_text_bigram","type":"text","index_options":"freqs"},"prefix":{"search_analyzer":"q_prefix","analyzer":"i_prefix","type":"text","index_options":"docs"},"enum":{"ignore_above":alyzer":"i_text_bigram","type":"text","index_options":"freqs"},"prefix":{"search_analyzer":"q_prefix","analyzer":"i_prefix","type":"text","index_options":"docs"},"enum":{"ignore_above":2048,"type":"keyword"},"stem":{"analyzer":"iq_text_stem","type":"text"}}}}], attempted to validate it with the following match_mapping_type: [string]')
< /code>
Важно заметить, что: < /p>

Я скопировал и вставил картирование из уже существующего, функционального хранилища данных, с конечной целью, чтобы переоценить содержимое этого хранилища, в мой новый хранилище данных dest_index < /code> (См. См. Свидец после этого параграфа)
(см. Клиенту, как у меня есть другие сценарии, включающие его; Однако это самый первый раз, когда я пытаюсь создать индекс ES из сценария Python. src = "https://i.sstatic.net/65l65shb.png"/>
Что я делаю не так?

Подробнее здесь: https://stackoverflow.com/questions/797 ... wn-mapping
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»