Несколько запросов в Riak

Я запрашиваю свою базу данных Riak через HTTP API следующим образом:

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

но все остальные параметры запроса, кроме первого, игнорируются. Таким образом, в этом случае он возвращает все записи, которые соответствуют build:2702168, но игнорируют hypervisors:500.

Этот документ хоть и старый, показывает, что вы можете выполнять обычные множественные запросы solr:

В следующем примере возвращаются документы, содержащие слова «красный» и «синий», но не «желтый».

red AND blue AND NOT yellow 

Вместо «И» можно использовать обязательный (+) оператор, а вместо «И-НЕ» — запрещенный (-). Например, приведенный выше запрос можно переписать так:

+red +blue -yellow

Однако я не могу найти ту же информацию в последних документах Riak. Есть ли другой способ сделать это?


person Daniel Larsson    schedule 01.05.2015    source источник


Ответы (1)


Это кажется довольно старой ошибкой. По словам Райана Зезески из Basho:

В свое время я исправил его, но его пришлось отменить, потому что он нарушал последовательное обновление 1. С тех пор он томится. Чтобы обойти это, явно поставьте И в запросе. Например. q=nickname:Ring%20AND%20breed:Shepherd

И, как он говорит, делая это вместо этого:

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

исправил проблему.

person Daniel Larsson    schedule 01.05.2015