2017-06-27 16 views
0

私は初めてelasticsearchを使用しています。私はマルチフィールドキーで完了suggesterを使用しようとしていますが、私はエラーは表示されませんが、私は応答を取得しません。完了突然変異の弾性探査機でのスージーズ

マッピングの作成:

PUT /products5/ 
{ 
    "mappings":{ 
    "products" : { 
     "properties" : { 
     "name" : { 
      "type":"text", 
      "fields":{ 
       "text":{ 
        "type":"keyword" 
        }, 
       "suggest":{ 
        "type" : "completion" 
       } 
      } 
     } 
     } 
    } 

    } 
} 

インデックス:

PUT /products5/product/1 
{ 
    "name": "Apple iphone 5" 

} 
PUT /products5/product/2 
{ 
    "name": "iphone 4 16GB" 


} 
PUT /products5/product/3 
{ 
    "name": "iphone 3 SS 16GB black" 


} 
PUT /products5/product/4 
{ 
    "name": "Apple iphone 4 S 16 GB white" 


} 
PUT /products5/product/5 
{ 
    "name": "Apple iphone case" 

} 

問合せ:

POST /products5/product/_search 
{ 
    "suggest":{ 
    "my-suggestion":{ 
     "prefix":"i", 
     "completion":{ 
     "field":"name.suggest" 
     } 
    } 
    } 

} 

出力:

{ 
    "took": 0, 
    "timed_out": false, 
    "_shards": { 
    "total": 5, 
    "successful": 5, 
    "failed": 0 
    }, 
    "hits": { 
    "total": 0, 
    "max_score": 0, 
    "hits": [] 
    }, 
    "suggest": { 
    "my-suggestion": [ 
     { 
     "text": "i", 
     "offset": 0, 
     "length": 1, 
     "options": [] 
     } 
    ] 
    } 
} 

私は間違いを教えてください、私はすべての可能な選択肢を試してみました。

答えて

0

最初の観点からは、これは正確に見えます。おそらく、正しい応答がない理由は、索引にマッピングを作成する前に、索引に文書を追加したためです。指定したマッピングに従って文書が索引付けされない

+1

私は上記の各コマンドを注意深く実行したと思います。インデックスとマッピングを作成した後にドキュメントを追加しました。 – rampuriyaaa

0

マッピング名に問題が見つかりました。新しいドキュメントを作成しているときに、URLに指定したマッピング名と値の間に矛盾があります。インデックスにはproductsの名前でマッピングを作成します。新しい文書を追加するときには、productをインデックスのマッピングの名前として指定しており、それはsで終了しません。あなたはタイプミスがあります。

関連する問題