私はフィールドgroupId
でグループ化された最新のレコードを取得しようとしています。これは"group_a"のような文字列です。弾性検索:テキストフィールドでフィールドデータを有効にすることはできますか?
私はthis questionの受け入れ答えを続いたが、私は次のエラーメッセージガット:
がFielddataは、デフォルトではテキストフィールドで無効になっています。逆インデックスを反転してメモリにフィールドデータをロードするには、[your_field_name]にfielddata = trueを設定します。ただし、これは大きなメモリを使用する可能性があることに注意してください。 Elasticsearch docsで
書かれている:
あなたがfielddataを有効にする前にあなたは、集計用のテキストフィールドを使用して並べ替え、またはスクリプトにしている理由を、検討してください。 これは通常、には意味がありません。
groupId
が文字列なので、私はテキストフィールドを使用しています。 をfielddata: true
に設定してグループ化すると意味がありますか?
または代替手段がありますか?
"field": "groupId.keyword"
(suggested here)を使用しても機能しませんでした。
ありがとうございます!
感謝。私はマッピングを調整しましたが、まだ成功しませんでした。あなたが使用するURLを私に教えてください。私は 'GET/myindex/_search'を試しています。 '?search_type = count'は、他の解決策に見られるように非難されています。 –
試してください:POST myindex/_search?pretty – betto86