2017-05-23 10 views
0

フレーズsuggesterが音素の違いで接頭辞のスペルミスを修正する方法がないのだろうかと思っていました。弾性検索フレーズsuggester接頭辞の音素の相違

Elasticsearch 5.1.2

例についてはKibana 5.1.2でのテスト

:誰かが "sircus" を書いて、またはその代わりに誰かを "コーディング" の「kodingを書いた

代わりの "サーカス" " 面白いことに、 "フレーズ"の代わりに "frase"と書いて提案を得ることができます。

これは私の設定です。

セッティング:

PUT text_index 
{ 
    "settings": { 
    "analysis": { 
     "analyzer": { 
     "suggests_analyzer": { 
      "tokenizer": "standard", 
      "filter": [ 
      "lowercase", 
      "asciifolding", 
      "shingle_filter" 
      ], 
      "type": "custom" 
     }, 
     "reverse": { 
      "type": "custom", 
      "tokenizer": "standard", 
      "filter": ["standard", "reverse"] 
      } 
     }, 
     "filter": { 
     "shingle_filter": { 
      "min_shingle_size": 2, 
      "max_shingle_size": 5, 
      "type": "shingle" 
     } 
     } 
    } 
    }, 
    "mappings": { 
    "testtype": { 
     "properties": { 
     "suggest_field": { 
      "type": "text", 
      "analyzer": "suggests_analyzer", 
      "fields": { 
      "reverse": { 
       "type": "text", 
       "analyzer": "reverse" 
      } 
      } 
     } 
     } 
    } 
    } 
} 

一部のドキュメント:

POST test_index/test_type/_bulk 
{"index":{}} 
{ "suggest_field": "phrase"} 
{"index":{}} 
{ "suggest_field": "Circus"} 
{"index":{}} 
{ "suggest_field": "Coding"} 

問合せ:また

POST /so-index/_search 
{ 
    "suggest" : { 
    "text" : "sircus", 
    "simple_phrase" : { 
     "phrase" : { 
     "field" : "suggest_field", 
     "max_errors": 0.9, 
     "highlight": { 
      "pre_tag": "<em>", 
      "post_tag": "</em>" 
     }, 
     "direct_generator" : [ { 
      "field" : "suggest_field", 
      "suggest_mode" : "always" 
     }, { 
      "field" : "suggest_field.reverse", 
      "suggest_mode" : "always", 
      "pre_filter" : "reverse", 
      "post_filter" : "reverse" 
     }] 
     } 
    } 
    } 
} 

、私は何も変更せずに数回(5〜10)は、次の手順を繰り返し:

  • 削除インデックス
  • プット指標は、&マッピング
  • が文書
  • クエリ(codign)

を追加設定時々私は提案を取得し、時々私にはありません。それについて何か説明はありますか?

+0

これは、用語suggester https://www.elastic.co/guide/en/elasticsearch/reference/current/search-suggesters-term.htmlを使用して修正できます –

答えて

0

direct_generatorに "prefix_length":0を設定してみてください。