2016-10-21 10 views
1

私はElasticSearchのchar_filterを使用し、いくつかのギリシャ文字を英語の文字にマップしたいと考えています。問題は、これが1対1のケースではないということです。私はいくつかのギリシャ文字を複数の英語とマッチさせたい。たとえば、「α」を「a」に変換したいが、「β」を「b」または「v」に変換したい。マッピングでこれを行う方法はありますか?置換すべきパターンを使用する必要がありますか?2文字のパターンを定義するにはどうすればよいですか?私の設定は次のようになります:ElasticSearch char_filterで複数の値マッピングを使用するにはどうすればよいですか?

{ 
"test": { 
"settings": { 
    "index": { 
    "creation_date": "1477060982825", 
    "analysis": { 
     "filter": { 
     "myGreekLowerCaseFilter": { 
      "type": "lowercase", 
      "language": "greek" 
     }, 
     "ngrams_filter": { 
      "type": "ngram", 
      "min_gram": "3", 
      "max_gram": "8" 
     } 
     }, 
     "analyzer": { 
     "my_analyzer": { 
      "filter": [ 
      "lowercase", 
      "myGreekLowerCaseFilter", 
      "ngrams_filter" 
      ], 
      "char_filter": [ 
      "my_mapping" 
      ], 
      "type": "custom", 
      "tokenizer": "standard" 
     } 
     }, 
     "char_filter": { 
     "my_mapping": { 
      "type": "mapping", 
      "mappings": [ 
      "α => a", 
      "β => b", 
      "γ => g", 
      "δ => d", 
      "ε => e", 
      "ζ => z", 
      "η => h", 
      "θ => th", 
      "ι => i", 
      "κ => k", 
      "λ => l", 
      "μ => m", 
      "ν => n", 
      "ξ => ks", 
      "ο => o", 
      "π => p", 
      "ρ => r", 
      "σ => s", 
      "τ => t", 
      "υ => y", 
      "φ => f", 
      "χ => x", 
      "ψ => ps", 
      "ω => w", 
      "αι => ai", 
      "ου => ou", 
      "ει => ei", 
      "οι => oi", 
      "αυ => au", 
      "ευ => eu", 
      "μπ => mp", 
      "γκ => gk", 
      "ντ => nt", 
      "γγ => gg" 
      ] 
     } 
     } 
    }, 
    "number_of_shards": "5", 
    "number_of_replicas": "1", 
    "uuid": "edpdWk14TRuBpNAWmVNOiA", 
    "version": { 
     "created": "2040099" 
    } 
    } 
} 
} 
} 
+0

Κατάφερεςναβρειςλύση; – grlouk

答えて

0

これはchar_filterでは不可能です。

関連する問題