目前,我们正在使用Server和Lucene的组合来索引一些有关域名的关系数据。我们有一个域表,以及大约10个其他不同的表,用于计算和存储有关域的不同度量的历史。例如:
域
NVARCHAR
SeoScore
BIGINT
我们正试图在数据库中包含来自主要区域文件的所有域,因此我们最终将看到大约6亿条记录,这似乎在Server中是一件有点麻烦的事情。考虑到我们依赖Lucene进行一些相当高级的查询,Solandra似乎是个不错的选择。我很难不用关系数据库的术语来考虑我们的数据。
SeoScore表将一个域映射到多个域(每次计算分数时都会有一个记录)。我认为在Solandra术语中,实现这一目标的最好方法是使用两个索引,一个用于域,另一个用于SeoScore。
以下是我们需要实现的查询场景:
我是不是偏离轨道了?在这种情况下,我们是否正确地将表映射为单独的solandra索引?
更新
以下是我所想的一些JSON表示法:
Domains : { //Index
domain1.com : { //Document ID
Middle : "domain1", //Field
Extension : "com",
Created : '2011-01-01 01:01:01.000',
ContainsDashes : false,
ContainsNumbers : false,
IsIDNA : false,
},
domain2.com {
...
}
}
SeoScores : { //Index
domain1.com { //Document ID
'2011-02-01 01:01:01.000' : {
SeoScore: 3
},
'2011-01-01 01:01:01.000' : {
SeoScore: -1
}
},
domain2.com {
...
}
}发布于 2011-08-17 01:09:42
对于SeoScores,您可能需要考虑使用虚拟内核:
https://github.com/tjake/Solandra/wiki/ManagingCores
这允许您按域对数据进行分区,这样您就可以拥有SeoScores.domain1,并使每个文档成为表示一个时间戳。
其他的听起来不错。
https://stackoverflow.com/questions/7072383
复制相似问题