我的以下問題是,我有一個項目列表,並希望用elasticsearch索引這些項目。我有一個正在運行的elasticsearch實例,並且此實例有一個名爲「默認」的索引。Elasticsearch NEST Indeces and Indexing
於是我運行下面的代碼:
var items = GetAListOfItem();
var response = Client.IndexMany(items);
我也Client.IndexManyAsync(items)
試了一下。但那沒有做任何事情。
此列表中只有1個項目被索引。而已。我認爲它是最後一項,它被編入索引。
我認爲這可能是IEnumerable
和多個枚舉的東西,但我把它解析爲List<Item>
。
另一個問題是關於Elasticsearch的最佳實踐。使用每個模型的索引是否很常見?所以如果我從Exchange和另一個系統收集數據,我會做2個indeces?
- ExchangeIndex
- OtherSystemIndex
謝謝您的幫助。
更新:我看到我的Client.Index可以使所有這些調用成功,但所有這些對象都從NEST獲得相同的ID。通常她必須自己增加,不是嗎?
更新2:我固定的索引問題。我設置了一個空的ID字段。
但是仍然有關於Elasticsearch的問題。
非常感謝您的回答。如前所述,我遇到了設置ID字段但未填寫的問題。我現在就把它刪除了。 從Exchange和數據庫收集數據。所以一個模型是電子郵件,另一個模型基本上是聯繫人或其他東西。所以從你的例子我會說,即時通訊做2個indeces,對吧? – Marius
這取決於,在你的例子中,只有電子郵件中的索引不要說太多,更好地豐富索引數據並創建包括聯繫信息或任何相關信息的索引(你必須在索引的目的下思考),所以你不需要查詢多個索引來獲得某些東西。在這個系統中有更好的重複數據,會更快的處理事情。 –