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

问题描述

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

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 的集合或使用 Yokozuna (Solr)

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