gpt4 book ai didi

java - 无法为从logstash JDBC 输入插件创建的索引创建elasticsearch 的映射

转载 作者:行者123 更新时间:2023-11-30 06:08:21 24 4
gpt4 key购买 nike

我正在尝试为elasticsearch 索引创建映射。当我使用以下查询创建索引时,我能够应用映射

请找到在elasticsearch中创建索引的查询

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"
}

对于上面创建的索引,我能够应用映射并能够成功搜索。请查找以下映射详细信息

    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"
}
}
}
}
}

但在实际场景中,我通过logstash JDBC 输入插件在elasticsearch 中创建索引。我能够在elasticsearch中创建索引,但是一旦通过logstash在elasticsearch中创建索引,默认情况下也会为该索引(所有字段)创建映射。之后,我无法应用我的映射,它显示索引 [documents_test9/P07B6_6mRqmH9IP-UaCjrw] 已存在错误。如果我尝试删除该索引并执行此映射,则会收到无法解析映射[doc]:没有在字段[文件名]上声明的类型[字符串]的处理程序错误。

不确定,当通过logstash JDBC输入插件创建索引时如何应用映射

最佳答案

如果我正确理解了这个问题,您可以使用 index template使用通配符,因此任何包含通配符中名称匹配的新索引将默认使用给定的索引模板。

使用下面的模板,您添加的任何包含名称文档*的索引,即 documents1documents_test8 等,默认情况下将使用给定的索引模板。

 PUT _template/documents
{
"template": "documents*",
"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"
}
}
}
}
}

关于java - 无法为从logstash JDBC 输入插件创建的索引创建elasticsearch 的映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50799406/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com