0

Je suis en train de convertir 1.7.5 => 5.4.2 Mais l'achèvement suggère que la sortie disparaisse.Comment compléter suggèrent Elasticsearch 5.x

ex)

Es 1.7.5 Suggérer Cartographie

{ 
    "test_suggest":[ 

     { 
      "input": "bigbang", 
      "payload": { 
       "type": "foo", 
       "id": "A", 
       "name": "BIGBANG" 
      }, 
      "weight": 111, 
      "output": "BIGBANG" 

     }, 
     { 

      "input": "빅뱅", 
      "payload": { 
       "type": "foo", 
       "id": "B", 
       "name": "BIGBANG" 
      }, 
      "weight": 111, 
      "output": "빅뱅" 

     }, 
     { 

      "input": "qlrqod", 
      "payload": { 
       "type": "foo", 
       "id": "B", 
       "name": "BIGBANG" 
      }, 
      "weight": 111, 
      "output": "빅뱅" 
     } 
    ] 
} 

Je suis allé ce

  • recherche -> Résultat
  • bigbang -> BIGBANG
  • 빅뱅 -> 빅뱅
  • qlrqod - > 빅뱅

5.4.2 suggèrent la cartographie

{ 
    "test_suggest": [ 

      { 
       "input": "bigbang", 
       "weight": 111 
      } 
      , 
      { 
       "input": "빅뱅", 
       "weight": 111 
      } 
      , 
      {     
       "input": "qlrqod", 
       "weight": 111, 
      } 
     ], 
     "KEYWD" : "BIGBANG", 
     "TYPE": "foo", 
     "ID": "A" 
} 

Comment puis-je faire?

Répondre

0

La suggestion d'achèvement d'Elasticsearch a été changée de 5.0. La prise en charge de la spécification de la sortie lors de l'indexation des entrées de suggestion a été supprimée. Le texte de l'entrée de résultat de la suggestion est toujours la valeur non analysée de l'entrée de la suggestion (identique à ne pas spécifier la sortie lors de l'indexation des suggestions dans les indices pré-5.0). Donc, vous devez ajouter output comme un champ de frère de suggest clé dans le corps.
Voilà comment il devrait ressembler à:

Cartographie:

{ 
    "mappings": { 
     "<type>" : { 
      "properties" : { 
       "suggest" : { 
        "type" : "completion" 
       }, 
       "title" : { 
        "type": "keyword" 
       } 
      } 
     } 
    } 
} 

Ne pas oublier de remplacer <type> avec votre type d'index.

indexation:

/<index_name>/<type_name> 

{ 
    "suggest" : { 
     "input": ["bigbang"], 
     "weight" : 1 
    }, 
    "output": "BIGBANG" 
} 

Ici, le nom du champ output peut être remplacé par quelque chose, c'est juste méta-données de votre document.

Requête:

/<index_name>/_search 

{ 
    "suggest": { 
     "show-suggest" : { 
      "prefix" : "bigbang", 
      "completion" : { 
       "field" : "suggest" 
      } 
     } 
    } 
} 

J'espère que cela aide.