Как сделать нумерацию страниц с помощью groupby в vespa.ai? - PullRequest
1 голос
/ 27 февраля 2020

Я пробовал ниже запрос-

http://<hostname>:<port>/search/?yql=select * from sources document_name where sddocname contains 'document_name' | all(group(key) each(each(output(summary())))) ;

Результат, который я получил-

{
"root": {
    "id": "toplevel",
    "relevance": 1.0,
    "fields": {
        "totalCount": 2924
    },
    "coverage": {
        "coverage": 100,
        "documents": 2924,
        "full": true,
        "nodes": 3,
        "results": 1,
        "resultsFull": 1
    },
    "children": [
        {
            "id": "group:root:0",
            "relevance": 1.0,
            "continuation": {
                "this": ""
            },
            "children": [
                {...

Для реализации нумерации страниц нам нужно continuation.this значение ключа, но мы получаем пустую строку внутри this key.

Кроме того, как мы можем установить количество записей на одной странице в разбивке по страницам, используя group, на?

1 Ответ

2 голосов
/ 27 февраля 2020

Приведенный выше пример

all(group(key) each(each(output(summary())))) 

Не будет иметь продолжения, так как вы выбрали все группы уникальных ключей и все попадания для каждого из уникальных ключей.

all(group(key) max(2) each( max(1) each(output(summary())))) 

Дает вам максимум 2 значения ключа, и для каждого из этих ключей 1 нажатие. В этом случае вы увидите действительные продолжения.

...