2016-04-22 9 views
0

this guideのような非標準ASCII文字の折りたたみをサポートしています。ElasticsearchでASCII文字が正しく折りたたまれています

PUT /my_index 
{ 
    "settings": { 
    "analysis": { 
     "analyzer": { 
     "folding": { 
      "tokenizer": "standard", 
      "filter": [ "lowercase", "asciifolding" ] 
     } 
     } 
    } 
    } 
} 

奇妙なことに、私はコードの最初のスニペットでサンプルを複製できません。

私は

GET /my_index/_analyze?analyzer=folding&text=My œsophagus caused a débâcle 

を実行すると、次のトークンが返されます。私が達成したい何

sophagus, caused, a, d, b, cle 

は次のとおりです。「エコール」のような単語の綴りの

バリエーション(例えばエコール、エコール)は同じ言葉として扱うべきです。今

私は

GET /my_index/_analyze?analyzer=folding&text=école ecole 

を実行した場合、私はこれらが私の考え私は現在

"analysis": { 
    "filter": { 
    "french_stop": { 
     "type": "stop", 
     "stopwords": "_french_" 
    }, 
     "french_elision": { 
     "type": "elision", 
      "articles": [ 
      "l", 
      "m", 
      "t", 
      "qu", 
      "n", 
      "s", 
      "j", 
      "d", 
      "c", 
      "jusqu", 
      "quoiqu", 
      "lorsqu", 
      "puisqu" 
      ] 
     }, 
     "french_stemmer": { 
      "type": "stemmer", 
      "language": "light_french" 
     } 
    }, 
    "analyzer": { 
     "index_French": { 
     "filter": [ 
      "french_elision", 
      "lowercase", 
      "french_stop", 
      "french_stemmer" 
     ], 
      "char_filter": [ 
      "html_strip" 
      ], 
      "type": "custom", 
       "tokenizer": "standard" 
     }, 
     "sort_analyzer": { 
      "type": "custom", 
      "filter": [ 
       "lowercase" 
      ], 
       "tokenizer": "keyword" 
     } 
    } 
} 

文書のテキスト分析のために使用する設定されているトークンcole, ecole

を取得しましたリストが次のようにindex_Frenchアナライザのフィルタを変更します。

"filter": ["french_elision","lowercase","asciifolding","french_stop","french_stemmer"] 

ご協力ありがとうございます。

あなたはこのよう_analyzeエンドポイントを呼び出すために、それが動作する必要がある意味で
+0

を得るでしょうあなたは明確にしようと、 'asciifolding'トークンフィルタを使用する必要がありますそれはあなたが見るでしょう。 – Val

+0

大きなアナライザーを参照する場合は、正しいです。私はリンクされたドキュメントページの小さなサンプルを使用して適切な折り畳みを得ることができません。 – Kralizek

+0

私はちょうどそれを試して、それは正常に動作します。代わりにこれを試すことができますか? 'curl -XGET 'localhost:9200/my_index/_analyze?analyzer =折りたたみ&きれいな' -d '私のsosoaggusがdébâcleを引き起こしました – Val

答えて

1

POST /foldings/_analyze 
{ 
    "text": "My œsophagus caused a débâcle", 
    "analyzer": "folding" 
} 

あなたは

{ 
    "tokens": [ 
     { 
     "token": "my", 
     "start_offset": 0, 
     "end_offset": 2, 
     "type": "<ALPHANUM>", 
     "position": 0 
     }, 
     { 
     "token": "oesophagus", 
     "start_offset": 3, 
     "end_offset": 12, 
     "type": "<ALPHANUM>", 
     "position": 1 
     }, 
     { 
     "token": "caused", 
     "start_offset": 13, 
     "end_offset": 19, 
     "type": "<ALPHANUM>", 
     "position": 2 
     }, 
     { 
     "token": "a", 
     "start_offset": 20, 
     "end_offset": 21, 
     "type": "<ALPHANUM>", 
     "position": 3 
     }, 
     { 
     "token": "debacle", 
     "start_offset": 22, 
     "end_offset": 29, 
     "type": "<ALPHANUM>", 
     "position": 4 
     } 
    ] 
} 
+0

今、私は馬鹿だと感じます。私は奇妙な応答を得ました。トークンリストに「アナライザ」、「折り畳み」、「テキスト」が含まれています。 http://pastebin.com/6qHDZhK5 – Kralizek

+0

私はあなたがES 1.xに対してテストしていると思います。私はES 2.xでテストしていました。そして、 'POST _analyze'はES 2.x以降でのみサポートされていますが、両方で動作します – Val

+0

はい。 AWSは1.5で動作します... Powershellのiwrは正常に動作しました。違いの理由はありますか? – Kralizek

関連する問題