2016-09-12 12 views
0

クエリ結果のソート/ランク付けのために機械学習アルゴリズムを使用する必要があります。 私たちのクエリはelasticsearchで実行されています。 そのためには、説明セクション(説明は返すべきではありますが)と外部ソースから、ドキュメント自体のデータを結合する必要があります。elasticsearchのソートとスコアリング

これはかなり重い計算であるので、私はすべての文書上のが、唯一の上位1000にランク付けアルゴリズムを実行すると、スコアリングプラグインを作成し、私のトップ100

を返さないすべての文書上で実行されます;私はrescoringフェーズのためのプラグインを作成するためのオプションが表示されませんでした。 ソートプラグインを作成する必要があるようです。

私の質問は何ですか - ソート段階で実行されているドキュメントの数はいくつですか?それを制御する方法はありますか(rescoreのwindow_sizeのような)?ページ設定があるとどうなりますか?並べ替えはもう一度実行されますか? 説明セクションのある1000のドキュメントをソートフェーズにすることは可能ですか?説明なしで100だけ戻すことはできますか?

ありがとうございます!

答えて

0

、 - これはかなり重い計算であるので、私はすべての文書上のが、唯一の上位1000にランク付けアルゴリズムを実行すると、あなたのスコアリングプラグインと組み合わせて私のトップ100

使用のリスコアリングを返しません。スコアリングアルゴリズムは上位N個の結果にのみ実行されます

- ソート段階では多くの文書が実行されていますか?

あなたはNのドキュメントを求めている場合は、あなたのクエリに一致され、すべて、各シャードは、トップN送信し、彼らは

- 何マージ私は改ページを持っている場合はどうしている - 私のソートが再び実行されていますか?あなたがあちこち100000 100010に文書を求めた場合

はい、再び悪化しランをソートして、ソートはシャードごと100010のドキュメント

+0

感謝のために起こります。私はどのように再スコアとスコアを組み合わせることができますか?私はドキュメントごとに重いアルゴリズムを実行する必要があるので、私はrescoreフェーズでそれを行う必要があります。どのように私は自分の恋人を再点心で走らせることができますか? – Yonatan

+0

また、ソーティングに関して - 私が100のうち10のドキュメントを求めている場合、作成日によってソートします。トップ10を検索するには、100まで注文する必要があります。何か不足していますか?どのようにそれは10だけでソートを実行しますか? – Yonatan

+0

ドキュメントスコアにアクセスするために_scoreを使用することができます。詳しくはhttps://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-function-score-query.htmlをご覧ください。 –

関連する問題