2017-05-23 7 views
0

Je me demandais si il n'y a aucun moyen pour la phrase suggester pour corriger les fautes d'orthographe de préfixe sur les différences phonétiques.Elasticsearch phrase préfixe préfixe différences phonétiques

ElasticSearch 5.1.2

test dans Kibana 5.1.2

Par exemple:

au lieu de quelqu'un "cirque" a écrit "Sircus", ou au lieu de "codage" quelqu'un a écrit « Koding ". Chose amusante, c'est qu'au lieu de "phrase" vous pouvez écrire "frase" et obtenir une suggestion.

Voici ma configuration.

Réglages:

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" 
      } 
      } 
     } 
     } 
    } 
    } 
} 

Quelques documents:

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

Interrogation:

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" 
     }] 
     } 
    } 
    } 
} 

Aussi, je répète les étapes suivantes à quelques reprises (entre 5 et 10) sans changer quoi que ce soit :

  • index suppression
  • index de vente, les paramètres & applications
  • ajouter des documents
  • requête (codign)

Parfois, je reçois des suggestions et parfois je ne sais pas. Y a-t-il une explication?

+0

cela peut être corrigé en utilisant le terme suggester https://www.elastic.co/guide/en/elasticsearch/reference/current/search-suggesters-term.html –

Répondre

0

Essayez de définir "prefix_length": 0 dans le direct_generator.