У меня есть несколько довольно сложных документов, которые я хочу сохранить в эластичном, чтобы получить их и сделать их доступными для поиска.Я не знаю всей структуры данных, поэтому я хотел бы, чтобы эластичный «глотал» все, как я его ввел, но определил некоторые индексированные поля, чтобы сделать поиск возможным.
Как только я предоставлю сопоставление для эластичногоя получу ошибки, если я не определю отображения, я боюсь, что индекс будет слишком большим, потому что упругость будет индексировать слишком много.
Я создаю индекс, используя php, но он сводится к следующему:
PUT localhost:9200/name-of-index
{
"mappings": {
"_doc": {
"properties": {
"title": {
"type": "text"
}
}
}
}
}
Затем - когда я добавляю один объект для проверки всего, я получаю следующую ошибку:
status 400
{
"error": {
"root_cause": [
{
"type": "illegal_argument_exception",
"reason": "Rejecting mapping update to [name-of-index] as the final mapping would have more than 1 type: [_doc, 2187]"
}
],
"type": "illegal_argument_exception",
"reason": "Rejecting mapping update to [name-of-index] as the final mapping would have more than 1 type: [_doc, 2187]"
},
"status": 400
}
Команда, которую я использую для публикации документа, примерно такова:
POST localhost:9200/name-of-index/2187
{
"title": "some title",
"otherField": "other value",
"obj": {
"nestedProp": "nestedValue",
"deepObj": {
"someStorage": [
...
{
"someVeryDeepProp": 1
}
...
]
}
},
"obj2": [
"str1",
"str2"
]
}
Имена узлов, конечно, не являются реальными, и структура намного сложнее, чем эта.Но я сомневаюсь, что это является причиной моей проблемы.
Так как я могу определить частичный индекс и сохранить все остальное как есть?
обновление: я забыл некоторую упругую информацию ..
{
"name" : "KNJ_3Eg",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "4M9p8XiaQHKPz7N2AAuVlw",
"version" : {
"number" : "6.6.0",
"build_flavor" : "default",
"build_type" : "deb",
"build_hash" : "a9861f4",
"build_date" : "2019-01-24T11:27:09.439740Z",
"build_snapshot" : false,
"lucene_version" : "7.6.0",
"minimum_wire_compatibility_version" : "5.6.0",
"minimum_index_compatibility_version" : "5.0.0"
},
"tagline" : "You Know, for Search"
}