0

私は1.7.5を変換しています=> 5.4.2 しかし完了は出力が消えたことを示唆しています。補完方法Elasticsearch 5.x

EX)

エス1.7.5マッピング

{ 
    "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": "빅뱅" 
     } 
    ] 
} 

を提案する私は、検索この

  • を行ってきました - >
  • BIGBANGの結果 - > BIGBANG
  • 빅뱅 - >빅뱅
  • qlrqod - >빅뱅

5.4.2マッピング

{ 
    "test_suggest": [ 

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

私はそれをどのように行うのですがお勧め?

答えて

0

弾性探査の完了スペルが5.0から変更されました。 提案項目を索引付けするときに出力を指定するサポートが削除されました。今や提案結果エントリのテキストは、提案の入力の分析されていない値です(5.0より前のインデックスの提案をインデックス付けする際に出力を指定しないのと同じです)。 outputを体内のsuggestキーの兄弟フィールドとして追加する必要があります。

マッピング:ここ
が、それはのようになります方法です

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

あなたのインデックスタイプで<type>を置き換えることを忘れないでください。

インデックス:ここ

/<index_name>/<type_name> 

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

、フィールド名outputは何に置き換えることができ、それはあなたの文書の単なるメタデータです。

問合せ:

/<index_name>/_search 

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

私はこのことができます願っています。

関連する問題