получить все результаты от couchbase API для полнотекстового поиска без ограничений - PullRequest
1 голос
/ 29 мая 2019

Я хочу получить все результаты из индекса полнотекстового поиска в couchbase.Однако предел по умолчанию составляет 10 результатов.

Я знаю, что могу настроить размер под конкретное число, но возможно ли установить его так, чтобы я получал все результаты за один раз?Что-то вроде "size":"*" или "size":"all"

curl -u user:password -X POST -H "Content-Type: application/json" \
-d '{"query": {"query": "search_token"}, "size": 10}' \
http://1.2.3.4:8094/api/index/myindex/query

1 Ответ

2 голосов
/ 29 мая 2019

Не похоже, что есть опция «все» для размера.Размер пропущенных возвращается к 10.

Я попытался использовать действительно большое число и получил сообщение об ошибке:

{
    "error": "rest_index: Query, indexName: ix_myindex, err: bleve: bleveMaxResultWindow exceeded, from: 0, size: 999999999, bleveMaxResultWindow: 10000",
    "request": {
        "query": {
            "query": "search_token"
        },
        "size": 999999999
    },
    "status": "fail"
}

Итак, 10000 - это максимум, который вы можете запросить по умолчанию.

Согласно билету Couchbase MB-17539 , вы можете увеличить максимум:

curl -XPUT -H "Content-type:application/json" http://<username>:<password>@<ip>:8094/api/managerOptions -d '{"bleveMaxResultWindow": "100000"}'

Я пробовал это, и это работает.Однако я не вижу этой конечной точки в документации, поэтому она может измениться или устареть в будущем.

Но мне действительно интересно, зачем вам нужно столько результатов одновременно?Пейджинг не вариант для вас?(например, тело {"query": {"query": "search_token"}, "size": 10, "from": 10}).

...