我想从 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
最佳答案
看起来没有“全部”尺寸选项。省略大小会回落到 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}
的正文)。
关于rest - 无限制地从 couchbase 全文搜索 rest API 获取所有结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56365135/