Я пытаюсь создать mappings
для эластичного поиска index
.Когда я создаю индекс с помощью запроса ниже, я могу применить mappings
.
Пожалуйста, найдите запрос, который создает индекс вasticsearch
put index/profile/1
{
"firstname" : "Karthik",
"lastname" : "AS",
"address" : "4/167, SouthExtn, shanmuga nagar, NA",
"Skill" : "Java, JEE, ReactJS, ActiveMQ, ElasticSearch",
"filename" : "My_second_file_created_at_2012.01.13.pdf"
}
для созданного выше индекса, может применить mappings
и может успешно выполнить поиск.Пожалуйста, найдите ниже mappings
подробности
PUT /documents_test8
{
"settings" : {
"analysis" : {
"analyzer" : {
"filename_search" : {
"tokenizer" : "filename",
"filter" : ["lowercase"]
},
"filename_index" : {
"tokenizer" : "filename",
"filter" : ["lowercase","edge_ngram"]
}
},
"tokenizer" : {
"filename" : {
"pattern" : "[^\\p{L}\\d]+",
"type" : "pattern"
}
},
"filter" : {
"edge_ngram" : {
"side" : "front",
"max_gram" : 20,
"min_gram" : 1,
"type" : "edgeNGram"
}
}
}
},
"mappings" : {
"doc" : {
"properties" : {
"filename" : {
"type" : "text",
"search_analyzer" : "filename_search",
"index_analyzer" : "filename_index"
}
}
}
}
}
Но в реальном сценарии я создаю индекс вasticsearch через входной плагин JDBC logstash.У меня есть возможность создать индекс вasticsearch, но проблема возникает после того, как индекс создан вasticsearch с помощью logstash по умолчанию mappings
, также созданный для этого индекса (для всех полей).После этого я не могу применить мой mappings
, он показывает index [documents_test9/P07B6_6mRqmH9IP-UaCjrw] already exists
ошибку.Если я пытаюсь удалить этот индекс и выполнить mapping
, я получаю Failed to parse mapping [doc]: No handler for type [string] declared on field [filename]
ошибку.
Не уверен, как применять mappings
при создании индекса через входной плагин JDBC logstash