2016-08-15 7 views
1

誰でも助けてくれますか? elasticSearchとnode.jsの新しい機能node.jsを使用してesクエリーでランダムなIDを取得

REQUEST

app.get('/', function (req, res, next){ 
try { 
    client.search({ 
     index: 'dbcatalogo', 
     type: 'cars', 
     size: 10, 
     body: { 
      query: { 
       function_score:{ 
        functions:[{ 
         random_score:{ 
          seed: 1 
         } 
        }] 
       }, 
       match_all: {} 
      }, 
      sort: { 
       'AnoModelo': 'desc' 
      } 
     } 
    }).then(function (json) {    
     res.json(json.hits); 
    }, 
    function (err) {res.json(error.HandleError(err));}); 
} 
catch (err) { res.json(error.HandleError(err)); }}); 

RESPONSE

[parse_exception]は検索元の解析に失敗しました。予想されるフィールド名はありますが[START_OBJECT]

答えて

0

match_allのクエリオブジェクト内にある必要があります。function_scoreの機能スコアを下に示します。

例:

client.search({ 
    index: 'dbcatalogo', 
    type: 'cars', 
    size: 10, 
    body: { 
     query: { 
      function_score:{ 
       functions:[{ 
        random_score:{ 
         seed: 1 
        } 
       }], 
       query : { 
        match_all: {} 
      } 
     } 
     }, 
     sort: { 
      'AnoModelo': 'desc' 
     } 
    } 
}).then(function (json) { 
    res.json(json.hits); 
} 

また、あなたがscorerandom_scoreはあまり意味がありません以外のフィールド上でソートされている場合。

+0

ありがとうございました。 –

関連する問題