1

我正在通过 HTTP API 查询我的 Riak 数据库,如下所示:

/select?q=+build:2702168+hypervisors:500&q.op=and&wt=json&sort=tstart_int%20desc"

但除第一个之外的所有其他查询参数都会被忽略。所以在这种情况下,它会返回所有满足build:2702168但忽略的条目hypervisors:500

这段文档虽然很旧,但表明您可以执行常规的 solr 多查询:

以下示例返回包含单词“red”和“blue”但不包含“yellow”的文档。

red AND blue AND NOT yellow 

必需的 (+) 运算符可以用来代替“AND”,而禁止的 (-) 运算符可以用来代替“AND NOT”。例如,上面的查询可以重写为:

+red +blue -yellow

但是,我在最新的 Riak 文档中找不到相同的信息。还有另一种方法吗?

4

1 回答 1

2

这似乎是一个相当古老的错误。根据 Basho 的 Ryan Zezeski 的说法

有一次我修复了它,但它必须恢复,因为它破坏了滚动升级1。从那以后它就一直萎靡不振。要解决此问题,请在查询中显式放置 AND。例如 q=nickname:Ring%20AND%20breed:Shepherd

正如他所说,改为这样做:

/select?q=build:2702168%20AND%20hypervisors:500&wt=json&sort=tstart_int%20desc

解决了这个问题。

于 2015-05-01T23:37:57.490 回答