次の並べ替えのスクリプトをアップグレードするが、現在は0.9で失敗します。弾性検索ソートスクリプトは0.2で動作するように使用さ
{
"_script": {
"script": "org.elasticsearch.common.Digest.md5Hex(doc['myId'].value + 12345)",
"type": "string",
"order": "asc"
}
}
私は受け付けており、エラーがある:私が見た
PropertyAccessException[[Error: unresolvable property or identifier: org]
この作業を行うカスタムスコアクエリを作成することを示唆しているので、少し余分な情報があります。私はすでにカスタムスコアのクエリを使用しています。このソートはスコアが一致する場合の第2の並べ替えです。これは定期的に行うことができます。上記の例の定数は、検索を実行するユーザーに基づいているため、検索するユーザーのそれぞれはランダム化されていても一貫性のある並べ替えが行われ、常に同じ結果がすべてのユーザーに表示されるわけではありません。
これはなぜ起こっているのか、同じソート機能を維持しながら修正する方法についての情報はありません。どんな助けや新しい方向への私の指しても大いに感謝します。
カスタムJavaスクリプトを作成して登録し、クエリで参照する必要があるようです(「lang」:「native」パラメータも提供します)。 私は決してJavaの専門家で午前しかし、このようなスクリプトを作成する方法についての素敵なチュートリアルがあります:それはそうとhttps://github.com/imotov/elasticsearch-native-script-example 最後にランダムな並び替えスクリプトをチェックあなたが必要とするものになるために。 –
MVEL以外のスクリプトはプラグインとして実装する必要があります。インラインスクリプトは、MVEL以外のスクリプトには使用できません。誰でもそれを確認できますか? –
は、私はまた、JSを試してみました - あなたはまだJSのサポートを有効にするプラグインをインストールする必要がありますが、あなたは、インライン式を行うことができます。「ソート」:{ 「_script」:{ 「スクリプト」:「DOC [ 『日付』]値を*因子+ 'anyvaluehere'」、 "タイプ": "string" は、 "のparamsは":{ "因子":1.1 }、 "順序": "ASC"、 "langの": "JS" }} –