建模数据以获得最大的可搜索性

Modeling data for maximum searchability

对此数据建模的最佳方式是什么:

public class Item {
    Double price;
    String geoHash;
    Long startAvailabilty; // timestamp
    Long endAvailabilty; // timestamp
    Set<String> keywords;
    String category;
    String dateCreated; // iso date
    String dateUpdated; // iso date
    Integer likes;
    Boolean isActive;
}

这样就可以查询和搜索 ff:

对于 Riak KV 数据库。

根据以上内容,我可以想象这是通过地图实现的,可能包含带有 map reduce/secondary indexes or by using Yokozuna (Solr) 的集合。

尽管如此,上面的数据集看起来更像是关系数据库而不是非SQL 数据库。对于中间的东西,您可能需要考虑 Riak TS (download),它类似于 KV,但在顶部有一个薄的 SQL 层。当前版本 (1.5.1) 有点旧,但我们计划在今年晚些时候推出一个改进的版本,提供额外的 SQL 功能。