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 个索引?
- 外汇指数
- 其他系统索引
感谢您的帮助。
更新: 我看到我的 Client.Index 成功执行了所有这些调用,但所有这些对象都从 NEST 获得了相同的 ID。平时都是她自己递增的吧?
更新 2: 我修复了索引问题。我设置了一个空的 ID 字段。
但仍然有关于 Elasticsearch 的最佳实践问题。
如果您上传所有具有相同 ID 的数据,它不会递增 ID,这将更新具有该 ID 的记录,您将只有一条记录,因此您可以上传没有 ID 的数据或给任何地方唯一的 id 来识别记录。
另一个常见问题是您的记录与您为索引提供的映射不同。
关于另一个问题,在索引中,您存储与您相关的信息,即使其中包含来自许多模型的内容,唯一要避免的是混合信息,如果您有索引例如,关于服务器日志,不要将其与用户活动混为一谈。
我的以下问题是,我有一个项目列表,想用 elasticsearch 索引这些项目。我有一个 运行 elasticsearch 实例,这个实例有一个名为“default”的索引。
所以我 运行 以下代码:
var items = GetAListOfItem();
var response = Client.IndexMany(items);
我也用 Client.IndexManyAsync(items)
试过了。但这并没有做任何事情。
此列表中只有 1 项被编入索引。而已。我认为它是最后一项,已编入索引。
我认为这可能是 IEnumerable
和多个枚举的问题,但我将其解析为 List<Item>
。
另一个问题是关于 Elasticsearch 的最佳实践。每个模型使用一个索引是否很常见。所以如果我从 Exchange 和另一个系统收集数据,我会做 2 个索引?
- 外汇指数
- 其他系统索引
感谢您的帮助。
更新: 我看到我的 Client.Index 成功执行了所有这些调用,但所有这些对象都从 NEST 获得了相同的 ID。平时都是她自己递增的吧?
更新 2: 我修复了索引问题。我设置了一个空的 ID 字段。
但仍然有关于 Elasticsearch 的最佳实践问题。
如果您上传所有具有相同 ID 的数据,它不会递增 ID,这将更新具有该 ID 的记录,您将只有一条记录,因此您可以上传没有 ID 的数据或给任何地方唯一的 id 来识别记录。 另一个常见问题是您的记录与您为索引提供的映射不同。
关于另一个问题,在索引中,您存储与您相关的信息,即使其中包含来自许多模型的内容,唯一要避免的是混合信息,如果您有索引例如,关于服务器日志,不要将其与用户活动混为一谈。