倒排索引的最佳NoSQL
我正在做一个小项目,我需要建立一个反向索引,并应用基于用户查询的相似性算法——基本信息检索。构建和搜索反向索引的最佳NoSQL产品是什么 谢谢,倒排索引的最佳NoSQL,nosql,Nosql,我正在做一个小项目,我需要建立一个反向索引,并应用基于用户查询的相似性算法——基本信息检索。构建和搜索反向索引的最佳NoSQL产品是什么 谢谢, J由于倒排索引是关于在文档中存储单词及其位置之间的关系,因此我不确定这是否是NoSQL的一个好用例。传统的SQL在这里工作得更好。例如,尝试以下数据结构: Documents (DocumentID primary key, DocumentText text) Words (WordID primary key, Word text) Instanc
J由于倒排索引是关于在文档中存储单词及其位置之间的关系,因此我不确定这是否是NoSQL的一个好用例。传统的SQL在这里工作得更好。例如,尝试以下数据结构:
Documents (DocumentID primary key, DocumentText text)
Words (WordID primary key, Word text)
Instances (InstanceID primary key, WordID foreign key, DocumentID foreign key, WordIndex integer)
使用这种结构,当您将文档插入文档
表时,您可以解析出每个单词并将其添加到单词
表中(如果是新的),或者检索现有的单词ID
(如果已经存在),然后将相关数据添加到实例
表中
如果您打算使用NoSQL,您可以将其与MongoDB一起使用,并将所有文档放在一个集合中,将所有单词放在另一个集合中。在每个Word
文档中,包括一个实例
数组,该数组将是一个对象数组,其中包含关联文档的ObjectID
,以及该文档中的单词索引。但是,我不确定MongoDB是否针对处理文档中如此大的数组进行了优化。像“a”和“the”这样的常用词最终可能超过4MB文档限制,这取决于您拥有的数据量。请参阅
- 分布式、可扩展和高可用性
- 实时搜索和分析功能
- 复杂的RESTful API