나는 Elastic Search에서 동적 템플릿을 정의하여 번역을 위해 현재 정의되지 않은 속성에 대한 분석기를 자동으로 설정하려고합니다.ElasticSearch Dynamic Templates는 어떻게 정의합니까?
예.
PUT /cl
{
"mappings" : {
"titles" : {
"properties" : {
"id" : {
"type" : "integer",
"index" : "not_analyzed"
},
"lang" : {
"type" : "object",
"properties" : {
"en" : {
"type" : "object",
"properties" : {
"title" : {
"type" : "string",
"index" : "analyzed",
"analyzer" : "english"
}
}
}
}
}
}
}
}
}
예를 들어, 예상대로 lang.en.title 줄기 : 다음은 내가 영어 분석기를 사용하는 lang.en.title을 설정하는 것입니다있는, 원하는 것을 정확하게 수행
GET /cl/_analyze?field=lang.en.title&text=knocked
{
"tokens": [
{
"token": "knock",
"start_offset": 0,
"end_offset": 7,
"type": "<ALPHANUM>",
"position": 1
}
]
}
하지만 난이 작업을 얻이 수없는 것 내가 동적 템플릿 어떤을 사용하여 영어 분석기를 사용하는 lang.en 이후의 모든 문자열 속성을 설정 할 노력하고있어 ...
PUT /cl
{
"mappings" : {
"titles" : {
"dynamic_templates" : [{
"lang_en" : {
"path_match" : "lang.en.*",
"mapping" : {
"type" : "string",
"index" : "analyzed",
"analyzer" : "english"
}
}
}],`enter code here`
"properties" : {
"id" : {
"type" : "integer",
"index" : "not_analyzed"
},
"lang" : {
"type" : "object"
}
}
}
}
}
GET /cl/_analyze?field=lang.en.title&text=knocked
{
"tokens": [
{
"token": "knocked",
"start_offset": 0,
"end_offset": 7,
"type": "<ALPHANUM>",
"position": 1
}
]
}
내가 무엇을 놓치고 - 원하는대로
영어 분석기 lang.en.title으로 적용되지 않고는 막아야되지 않는 이유는 무엇입니까? :)
대단히 감사합니다. :) –