エッジngramトークナイザーを使用するようにフィールドの1つを構成しようとしています。私が見つけた次の要点を翻訳しようとしています(https://gist.github.com/1037563):
{
"mappings": {
"contact": {
"properties": {
"twitter": {
"type": "object",
"properties": {
"profile": {
"fields": {
"profile": {
"type": "string",
"analyzer": "left"
},
"reverse_profile": {
"type": "string",
"analyzer": "right"
}
},
"type": "multi_field"
}
}
}
}
}
},
"settings": {
"analysis": {
"analyzer": {
"left": {
"filter": [
"standard",
"lowercase",
"stop"
],
"type": "custom",
"tokenizer": "left_tokenizer"
},
"right": {
"filter": [
"standard",
"lowercase",
"stop"
],
"type": "custom",
"tokenizer": "right_tokenizer"
}
},
"tokenizer": {
"left_tokenizer": {
"side": "front",
"max_gram": 20,
"type": "edgeNGram"
},
"right_tokenizer": {
"side": "back",
"max_gram": 20,
"type": "edgeNGram"
}
}
}
}
}
pyesが「put_mapping」APIをサポートしていることがわかりますが、これはすべてを「mappings」内にラップしているようです。'settings'キーの下でアナライザーを渡すことができる必要があり、その方法を理解できません。
誰か助けてもらえますか?