Elasticsearch NEST 索引和索引

Elasticsearch NEST Indeces and Indexing

我的以下问题是,我有一个项目列表,想用 elasticsearch 索引这些项目。我有一个 运行 elasticsearch 实例,这个实例有一个名为“default”的索引。

所以我 运行 以下代码:

var items = GetAListOfItem();
var response = Client.IndexMany(items);

我也用 Client.IndexManyAsync(items) 试过了。但这并没有做任何事情。

此列表中只有 1 项被编入索引。而已。我认为它是最后一项,已编入索引。

我认为这可能是 IEnumerable 和多个枚举的问题,但我将其解析为 List<Item>

另一个问题是关于 Elasticsearch 的最佳实践。每个模型使用一个索引是否很常见。所以如果我从 Exchange 和另一个系统收集数据,我会做 2 个索引?

  1. 外汇指数
  2. 其他系统索引

感谢您的帮助。

更新: 我看到我的 Client.Index 成功执行了所有这些调用,但所有这些对象都从 NEST 获得了相同的 ID。平时都是她自己递增的吧?

更新 2: 我修复了索引问题。我设置了一个空的 ID 字段。

但仍然有关于 Elasticsearch 的最佳实践问题。

如果您上传所有具有相同 ID 的数据,它不会递增 ID,这将更新具有该 ID 的记录,您将只有一条记录,因此您可以上传没有 ID 的数据或给任何地方唯一的 id 来识别记录。 另一个常见问题是您的记录与您为索引提供的映射不同。

关于另一个问题,在索引中,您存储与您相关的信息,即使其中包含来自许多模型的内容,唯一要避免的是混合信息,如果您有索引例如,关于服务器日志,不要将其与用户活动混为一谈。