ドキュメント ID が個人 ID と同じになるように個人 ID をマッピングできることは知っていますが、逆にすることはできますか?
ドキュメント ID 値をマッピングのプロパティにマップする方法は?
回答は、できれば C# NEST ライブラリを使用できますが、必須ではありません。ありがとうございます。
ドキュメント ID が個人 ID と同じになるように個人 ID をマッピングできることは知っていますが、逆にすることはできますか?
ドキュメント ID 値をマッピングのプロパティにマップする方法は?
回答は、できれば C# NEST ライブラリを使用できますが、必須ではありません。ありがとうございます。
ES にインデックス付けされたソースを変更できる機能については知りません。
(非推奨)transform
機能は、インデックス作成時に新しい任意のフィールドを追加できますが、ソースを変更しません。つまり、結果を取得するときに、作成されたフィールドを取得できません。
独自の ID を作成してフィールドに割り当てMyDocId
、ES に ID を生成させないことをお勧めします。
ES 5 では、Ingest nodeと呼ばれる新しいタイプのノードが用意されていることに注意してください。これにより、Logstash フィルターで実行できるものと同様に、変換パイプラインを定義できます。その時点で、set プロセッサを使用して任意のフィールドを設定/作成し、目的を達成できるようになります。
{
"set": {
"field": "MyDocId",
"value": "_id"
}
}
NEST は現在、生成された ID を POCO のプロパティにマップしません。response.Hits
を使用して、メタデータから手動でIDを割り当てることができます
var response = client.Search<Poco>();
var pocos = response.Hits.Select(hit =>
{
hit.Source.Id = h.Id;
return hit.Source;
}).ToList();
これは 1 月に再び議論され、現在の実装を維持することを決定しました。POCO_source
は Elasticsearch の にマップされます。