栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何在temp db中存储查询输出?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何在temp db中存储查询输出?

Mongo本身不支持“临时”集合。

这里要做的典型事情是实际上不将所有输出结果写入另一个数据库,因为这完全没有意义,因为Elasticsearch会自己进行缓存,因此您不需要顶层任何层。

同样,由于IO方面的考虑,将说1万条记录的结果集写入Mongo或另一个DB通常是个坏主意。

对于您所说的内容,有一个功能请求:https :
//jira.mongodb.org/browse/SERVER-3215,但目前尚无计划。

您可以有一个结果表。

在此表中,您将拥有一个类似于以下内容的文档:

{keywords: ['bok', 'mongodb']}

每次搜索并滚动浏览每个结果项时,都会在此表中写一行,以该搜索结果中的关键字填充关键字字段。这将是每个搜索的每个搜索结果,每个搜索结果列表。最好将每个搜索结果随其传入而流式传输到MongoDB。我从未编程过Python(尽管我想学习),因此使用伪示例:

var elastic_results = [{'elasticresult'}];foreach(elastic_results as result){    //split down the phrases in this result and make a keywords array    db.results_collection.insert(array_formed_from_splitting_down_result); // Lets just lazy insert no need for batch or trying to shrink the amount of data to one go or whatever, lets just stream it in.}

因此,随着结果的进行,您基本上只是以尽可能快的速度批量插入,可能会为MongoDB创建某种“输入流”。它可以很好地做到这一点。

然后,这应该为您提供单词和语言动词的可拆分列表,以处理诸如MR和诸如此类的东西,以汇总有关它们的统计信息。

越来越不了解您的情况,这几乎是我最好的答案。

它不使用临时表的概念,而是使您的数据永久保存,这听起来不错,因为您希望将Mongo用作存储引擎来完成其他任务。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/382484.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号