2

私はElasticsearch 2.x.xで自動補完サービスを構築しました。私の自動完成可能な値の1つは "3M"です。私はAUTOにあいまいさを設定したと私のマッピングは単にデフォルトです:Elasticsearch SuggestResponseが数字の文字列で間違っている

"mapping": { 
    "type": "completion", 
    "analyzer": "simple", 
    "payloads": false, 
    "preserve_separators": true, 
    "preserve_position_increments": true, 
    "max_input_length": 50 
} 

this documentationに基づきアナライザはシンプルであるべき、ぼやけAUTOがMAX 2スペルミスで意味します。

「1000000M」と入力すると、1000000と3が2つのスペルミスの制限を超えていますが、「3M」は自動的に完了します。

Elasticは1000000を認識していますが、3は両方とも数字で、私は{数字} Mを探していますか?

数字が実際の文字列のスペルエラーとして動作するようにしたいと思います。これは推奨動作ではないためです。

ファジーネスをZEROに設定しても、1000000Mから3Mに修正されます。

答えて

0

解決策はかなり簡単でした。私が行うことは、私の分析装置をsimpleからkeywordに変更することでした。ただし、キーワードに小文字のアナライザは使用されていません。これは、自動補完では大文字と小文字が区別されることを意味します。

関連する問題