私の次の問題は、私はアイテムのリストを持っており、elasticsearchでそれらのインデックスを付けることです。実行中のelasticsearchインスタンスがあり、このインスタンスには「default」というインデックスがあります。エラスティックサーチネストインデックスとインデックス
だから私は、次のコードを実行しています:私もClient.IndexManyAsync(items)
でそれを試してみました
var items = GetAListOfItem();
var response = Client.IndexMany(items);
を。しかし、それは何もしませんでした。
このリストの1つの項目のみが索引付けされます。これ以上何もない。私はそれが索引付けされた最後のアイテムだと思います。
私はそれがIEnumerable
と複数の列挙型のものかもしれないと思っていましたが、私はそれをList<Item>
として解析しました。
もう1つの質問は、Elasticsearchのベストプラクティスに関するものです。モデルごとのインデックスを使用するのが一般的ですか?だから、たとえばExchangeや別のシステムからデータを集めているなら、私は2つのindecesをするだろうか?
- ExchangeIndex
- OtherSystemIndex
あなたの助けをいただき、ありがとうございます。
更新: Client.Indexがこれらの呼び出しをすべて成功させることがわかりましたが、これらのオブジェクトはすべてNESTから同じIDを取得しました。通常、彼女は自分自身で増加しなければならなかった、それはない?
更新2:インデックス作成の問題を修正しました。私は空のIDフィールドをセットアップしました。
しかし、Elasticsearchについては、まだ最も実用的な質問があります。
ありがとうございます。上記のように、私はIDフィールドを設定しても、それを埋めることはできないという問題がありました。私は今それを削除しました。 Exchangeとデータベースからデータを収集しています。したがって、1つのモデルは電子メールであり、別のモデルは基本的に連絡先などです。あなたの例から、私は2つのindecesをやっていると言うでしょうか? – Marius
あなたの例では、あなたの例では、単にインデックスに電子メールを置いてはいけませんが、インデックスデータを豊かにし、連絡先情報や関連情報(インデックスの目的で考える必要があります)したがって、何かを得るために複数のインデックスをクエリする必要はありません。このシステムでは、データが重複している方が処理が速いことがあります。 –