在 elasticsearch 中映射多个字段
Mapping in elasticsearch for multiple fields
我想将以下模板应用于所有字段。
目前我只为 "name" 字段应用此映射。
假设我还有一些字段,例如:"resedential_address"、"work_address"、"birth_place"、"DOB" 等
我怎样才能有效地做到这一点。我知道我可以为所有字段重复相同的块。
或者有没有一种方法可以将以下模板应用于所有 "text" 字段?
{
"template": "*",
"settings": {
"analysis": {
"filter": {
"ngram_filter": {
"type": "ngram",
"min_gram": 1,
"max_gram": 25
}
},
"analyzer": {
"case_insensitive": {
"tokenizer": "whitespace",
"filter": [
"ngram_filter","lowercase"
]
},
"search_analyzer":{
"type": "custom",
"tokenizer": "whitespace",
"filter": "lowercase"
}
}
}
},
"mappings": {
"my_type": {
"properties": {
"name": {
"type": "string",
"analyzer": "case_insensitive",
"search_analyzer": "search_analyzer"
}
}
}
}
}
提前致谢!
如果您想使用提供的自定义映射映射所有 text
字段,请使用 dynamic templates
功能,如下所示:
{
"template": "*",
"settings": {
"analysis": {
"filter": {
"ngram_filter": {
"type": "ngram",
"min_gram": 1,
"max_gram": 25
}
},
"analyzer": {
"case_insensitive": {
"tokenizer": "whitespace",
"filter": [
"ngram_filter","lowercase"
]
},
"search_analyzer":{
"type": "custom",
"tokenizer": "whitespace",
"filter": "lowercase"
}
}
}
},
"mappings": {
"my_type": {
"dynamic_templates": [
{
"strings": {
"match_mapping_type": "string",
"mapping": {
"type": "string",
"analyzer": "case_insensitive",
"search_analyzer": "search_analyzer"
}
}
}
]
}
}
}
以上模板将为所有字符串字段创建相同的自定义映射,如 name, residential_address, work_address ...
我想将以下模板应用于所有字段。 目前我只为 "name" 字段应用此映射。
假设我还有一些字段,例如:"resedential_address"、"work_address"、"birth_place"、"DOB" 等
我怎样才能有效地做到这一点。我知道我可以为所有字段重复相同的块。 或者有没有一种方法可以将以下模板应用于所有 "text" 字段?
{
"template": "*",
"settings": {
"analysis": {
"filter": {
"ngram_filter": {
"type": "ngram",
"min_gram": 1,
"max_gram": 25
}
},
"analyzer": {
"case_insensitive": {
"tokenizer": "whitespace",
"filter": [
"ngram_filter","lowercase"
]
},
"search_analyzer":{
"type": "custom",
"tokenizer": "whitespace",
"filter": "lowercase"
}
}
}
},
"mappings": {
"my_type": {
"properties": {
"name": {
"type": "string",
"analyzer": "case_insensitive",
"search_analyzer": "search_analyzer"
}
}
}
}
}
提前致谢!
如果您想使用提供的自定义映射映射所有 text
字段,请使用 dynamic templates
功能,如下所示:
{
"template": "*",
"settings": {
"analysis": {
"filter": {
"ngram_filter": {
"type": "ngram",
"min_gram": 1,
"max_gram": 25
}
},
"analyzer": {
"case_insensitive": {
"tokenizer": "whitespace",
"filter": [
"ngram_filter","lowercase"
]
},
"search_analyzer":{
"type": "custom",
"tokenizer": "whitespace",
"filter": "lowercase"
}
}
}
},
"mappings": {
"my_type": {
"dynamic_templates": [
{
"strings": {
"match_mapping_type": "string",
"mapping": {
"type": "string",
"analyzer": "case_insensitive",
"search_analyzer": "search_analyzer"
}
}
}
]
}
}
}
以上模板将为所有字符串字段创建相同的自定义映射,如 name, residential_address, work_address ...