Можно ли создать массив JSON внутри объекта JSON в определении поиска, и все поля доступны для поиска в vespa.ai? - PullRequest
2 голосов
/ 22 января 2020

Мне нужно создать файл определения поиска в Vespa, где я могу создать массив JSON внутри JSON объекта со всеми полями для поиска

, например -

{
  "department": "education",
  "designation": "student",
  "person": {
    "name": "steve",
    "city": "delhi",
    "hobbies": [
      {
        "hobbyName": "cricket",
        "type": "outdoor"
      },
      {
        "hobbyName": "chess",
        "type": "indoor"
      }
    ]
  }
}

Здесь я нужно искать person.name, person.city, person.hobbies.hobbyName, person.hobbies.type.

1 Ответ

2 голосов
/ 22 января 2020

Используя массив struct , вы должны начать что-то вроде этого:

search person {

    document person {

        field name type string {
            indexing: summary | index
        }

        field city type string {
            indexing: summary | index
        }

        struct hobby {
            field hobbyName type string {}
            field type      type string {}
        }

        field hobbies type array<hobby> {
            indexing: summary
            struct-field hobbyName { indexing: attribute }
            struct-field type      { indexing: attribute }
        }
    }
}
...