如果有人可以指出正确的方向,那将不胜感激:)
我可以使用以下transform_file.js代码将MongoDB中的集合导入到elasticsearch中:
t.Source("source", source, '/^categories$/').Save("sink", sink, "/.*/")
在elasticsearch中(使用appbase.io),使用MongoDB集合“类别”作为唯一类型对数据建立索引,而所有MongoDB文档都是elasticsearch文档。
但是,我希望每个MongoDB文档都改为自己的elasticsearch类型。因此,我希望 flex 搜索类型不是BMW和Audi,而是 flex 搜索中唯一的类型。理想地命名为category_bmw和category_audi。
我假设必须更改“.Save”之后的代码,但我不确定要进行哪些更改。
编辑:我正在使用elasticsearch版本5。
最佳答案
坚持一个_type
。 Elasticsearch中逐渐删除每个索引的多种类型,如果您这样做的话,您只会在以后的工作中遇到不必要的升级难题。
而是使用自定义字段,例如type
(不带下划线)或任何对您有意义的字段。然后,您可以在该自定义字段上使用过滤器,并获得与多种类型相同的行为。
如果不在MongoDB中显示原始文档,我不确定是否需要任何其他转换。
关于mongodb - 在Elasticsearch中尝试将MongoDB文档作为单独的类型导入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51572749/