April 19, 2017

针对ElasticSearch的查询

ElasticSearch提供的API非常丰富,丰富到可以称为空前强大的地步。谁让ElasticSearch的职业就是专门做这个的呢。然而,选择太多,也未必是好事,会让人感到困惑,不知道该在怎样的查询场景运用怎样的查询API。

ES的官方文档就Query DSL而言,就提供了两种查询方式:

Leaf query clauses

Compound query clauses

后者又包含了多种查询方式:

constant_score query

boolean query

dis_max query

function_score query

boosting query

indice......

January 19, 2017

MongoDB嵌套结构的查询与筛选

作为文档(Document)数据库,当我们在与MongoDB数据模型打交道时,不可避免会处理嵌套的数据结构。可以将嵌套数据结构的根视为一个Aggregate,针对一些业务场景,这种建模是合理的。然而在面对查询的一些查询条件时,实现起来就有些捉急了。

让我们先来看看一个实例数据模型,它是一条精简了的舆情数据,每条舆情数据包含了多条观点数据:

{

"_id" : ObjectId("586237369d88f67788841014"),

"cid" : "4036689846489797",

......

December 28, 2016

MongoDB的数据建模

MongoDB是一种面向Document的NoSQL数据库,如果我们还是按照RDB的方式来思考MongoDB的数据建模,则不能有效地利用MongoDB的优势;然而,我们也不能因为Document的灵活性,就可以在设计之初放任自流。

适度的建模是非常有必要的,尤其对于相对复杂的关联关系。因为在MongoDB中,处理这种关联关系既可以使用Link,也可以使用Embedded。

我们要评价一种决策,不能将其与具体的上下文割裂开来做判断,那种单纯说A技术要......