本文介绍如何使用别名和bulk插入大量文档来设置Elasticsearch索引。 批量插入大量文档时,可以通过关闭刷新间隔(RefreshInterval="-1")并关闭复制来提高性能。 插入完成后,根据您的要求将这些设置设置为所需的值。
要创建索引,使用TestDto类。 这被映射到testdtos_v1索引和testdto类型。 然后将一个别名testdtos添加到索引中。 这是非常有用的,如果需要实时索引,或者数据类型更改。 搜索客户端使用别名。创建索引时,将设置RefreshInterval和NumberOfReplicas属性。 这些值被设置为使得刷新被关闭并且复制也被关闭。 这些建议可以在Elasticsearch文档中找到。
索引的映射可以通过实现ElasticsearchMapping类从默认映射更改。 任何索引或类型可以在这里为任何DTO类设置,然后将映射添加到上下文中。 只要上下文存在,该映射就被用于该类。 只需要使用ElasticsearchMappingTestDto映射来创建索引,否则使用别名,它与ElasticsearchCRUD中的默认设置相匹配。
可以使用_settings API在Elasticsearch中查看设置:
"refresh_interval":"-1"和"number_of_replicas":"0"已根据需要进行了更改。
TestDto类具有以下映射:
现在创建了索引,100个批量HTTP请求中添加了一百万个文档。 批量请求的最佳大小以及每个批量请求中文档的最佳数量取决于每个文档和Elasticsearch安装的大小。 SaveChanges方法发送批量请求。
批量插入完成后,将重新启动刷新,并将复制激活到所需的量。
然后可以查看设置,并更新两个属性值。
现在,使用别名的索引可以进行搜索或任何操作。