MongoDB + K表示集群

安东尼·钟

我将MongoDB用作数据存储,并希望将文档的“群集”配置存储在单独的集合中。

因此,在一个集合中,我将拥有原始的对象集,而在第二个集合中,它将具有

kMeansCollection: {
     1: [mongoObjectCopy1], [mongoObjectCopy2]...
     2: [mongoObjectCopy3], [mongoObjectCopy4]... 
   }

我在这里实施了用于文本聚类的K-means,http://tech.swamps.io/recipe-text-clustering-using-nltk-and-scikit-learn/,但是我很难考虑如何将输出绑定回MongoDB。

一个例子(摘自链接):

if __name__ == "__main__":
    tags = collection.find({}, {'tag_data': 1, '_id': 0})
    clusters = cluster_texts(tags, 5) #algo runs here with 5 clusters
    pprint(dict(clusters))

var“标签”是算法运行所需的输入。它必须采用数组形式,但是当前标签返回一个对象数组(因此,我必须从查询中提取文本值)

但是,在以5种方式神奇地聚集了我的收藏集之后,如何将它们与来自mongo的相应对象条目重新统一?

我只是从对象的一个​​属性中提供特定的文本内容。

非常感谢!

戴维·老鼠

您将需要一些文档标识符。_id在查询中包括该字段可能是一个好主意,这样您就可以拥有唯一的文档标识符。然后,您可以创建平行的列表idstag_data

docs = collection.find({}, {'tag_data': 1, '_id': 1})
ids = [doc['_id'] for doc in docs]
tags = [doc['tag_data'] for doc in docs]

然后在标签数据上调用集群函数。

clusters = cluster_text(tags)

并将zip结果返回给ids

doc_clusters = zip(ids, clusters)

在这里,您已经建立了元组,(_id, cluster)以便您可以更新mongo文档上的集群标签。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Python K表示集群

来自分类Dev

mongodb中的时间集群

来自分类Dev

MongoDB Atlas项目/集群

来自分类Dev

创建mongodb分片集群的工具

来自分类Dev

无法连接到MongoDB集群

来自分类Dev

Mongodb做工作的机器集群

来自分类Dev

MongoDB驱动程序和集群

来自分类Dev

如何在Kubernetes上创建MongoDB集群?

来自分类Dev

集群上的MongoDB查询问题

来自分类Dev

MongoDB副本集群集中的索引

来自分类Dev

MongoDB分片,仲裁器和集群设置

来自分类Dev

查找文档在Mongodb集群中的位置,

来自分类Dev

MongoDB托管,单节点或集群集副本

来自分类Dev

Java MongoDb:点表示法

来自分类Dev

MongoDB分片集群:仅插入一个分片

来自分类Dev

MongoDB M0集群,Python多线程

来自分类Dev

mysql / mongodb集群是否适合在kubernetes上安装?

来自分类Dev

MongoDB分片集群中的文档计数错误

来自分类Dev

如何将NodeJ连接到Atlas mongodb集群

来自分类Dev

PHP mongoDB集群连接字符串不起作用

来自分类Dev

Yii2 无法连接到 MongoDB 集群

来自分类Dev

MongoDB:如何确保从分片集群的特定辅助读取?

来自分类Dev

同一 Kubernetes 集群中的多个 MongoDB Statefulset

来自分类Dev

连接到 mongodb atlas 集群和本地主机

来自分类Dev

可填充的Jenssegers MongoDB点表示法

来自分类Dev

可填充的Jenssegers MongoDB点表示法

来自分类Dev

MongoDB Morphia表示已弃用

来自分类Dev

K8的mongodb容器无法使用EBS卷安装

来自分类Dev

如何在地理分布式MongoDB集群中分配新的主数据库?