2017-02-23 9 views
0

私はインデックスにギリシャ文字を使用しています。ギリシャ語で検索しようとしています。たとえば、 "παλια"で検索すると、 "παλια"と "同じ文字をElasticsearchで2回マップする方法charFilter

var response = client1.CreateIndex("thetrialindex", 
      th => 
       th.Settings(
        s => 
         s.Analysis(
          a => 
           a.Analyzers(
             an => 
              an.Custom("my_analyzer", 
               cu => cu.Tokenizer("keyword").CharFilters("my_char_filter")) 
               ) 
            .CharFilters(c1=>c1.Mapping("my_char_filter", ma1=>ma1.Mappings("α => ά","α => α"))) 
                        ))); 

答えて

0

でIcuTransform使用している最良の方法:παλιά「.Iは、文字αのための二重のマッピングを作成しようとしていますが、私はエラーとして取得 『』α\」\マッチがすでに.Hereが私のコードである」追加されましたあなたが必要とする言語。

.IcuTransform("latingreek", lg => lg.Id("Latin-Greek; NFD; [:Nonspacing 
Mark:] Remove; NFC").Direction(IcuTransformDirection.Forward)) 

とあなたのインデックスと検索アナライザにこれを追加します。あなたはそのようなものを使用することができますギリシャ語、ラテン語の文字を変換するための例えば 。

関連する問題